1

我正在使用Unity 2018.3.13f和为 HoloLens gen 1 设备构建应用程序MRTK V2 RC1。我得到了一个带有 2 个文本对象和 1 个 rawimage 对象的简单 AR 设计。在构建项目并将其部署到 HoloLens 后,AR 对象最终位于空间网格后面(您知道所有这些空间三角形),但我希望所有对象都位于墙前。

我该如何做到这一点?

画布设置在主相机上 画布检查员的图像

DefaultMixedRealityconfiguraitonProfile如果有需要更改的内容,我有原始设置。

当它没有显示墙的网格时,这就是它通过应用程序通过 hololens 的外观(抱歉质量不好) 在此处输入图像描述

这就是它落在网格后面时的样子 在此处输入图像描述

我是否需要添加一些网格渲染器或其他东西MainCamera才能使这成为可能?

任何帮助表示赞赏,谢谢!

4

2 回答 2

0
  1. 如果您使用精灵渲染器,请在图层中设置顺序(设置为 0 或 -1)。
  2. 如果您使用网格渲染器,请尝试停用动态遮挡。
  3. 尝试在 Edit-> Project Settings -> Sorting Layers 下更改排序层的层次结构
于 2019-05-10T10:37:20.643 回答
0

我不认为截至 2019/5/9 的 MRTKv2 具有自动确保特定对象位于相机和其他任意网格和对撞机之间的代码(即空间感知是这样的网格之一,尽管您可以想象在场景中有一个任意的盒子或平面会遮挡该对象,在这种情况下,也许您希望您的“中间”对象停留在这两种可能遮挡的事物之间)。

HTK 中曾经有一个名为 Tagalong.cs 的脚本,它可以通过从相机向可碰撞对象进行光线投射来执行类似的操作:

https://github.com/microsoft/MixedRealityToolkit-Unity/blob/htk_release/Assets/HoloToolkit/Utilities/Scripts/Tagalong.cs

我认为这个单一的大脚本被分解成更小的脚本(即此处求解器中的特定行为:)

https://github.com/microsoft/MixedRealityToolkit-Unity/tree/mrtk_release/Assets/MixedRealityToolkit.SDK/Features/Utilities/Solvers

但是,据我所知,“在相机和任何可碰撞的物体之间自动保持事物”的特定交互没有被保留。如果我错了,其他人可以在这里纠正我,看起来这不是 V2 中保留的行为。

展望未来,有两种可能性:

1) 可能在 Github 上提交问题 ( https://github.com/microsoft/MixedRealityToolkit-Unity/issues ) 以请求移植此功能。

2) 使用 Tagalong.cs 中的代码添加您自己的求解器来完成此任务(即代码看起来都在那里,只需要完成一些工作来重新排序以处理您想要的内容)

于 2019-05-09T17:38:38.650 回答