【问题标题】:How to do occlusion with Google Tango in Unity?如何在 Unity 中使用 Google Tango 进行遮挡?
【发布时间】:2017-04-11 17:57:03
【问题描述】:
我想在 Unity 中使用 Google Tango 进行遮挡。
我想要的很容易理解:当虚拟对象前面有真实对象时,虚拟对象被隐藏(或以不同方式呈现)
完美的结果就像我发现的这个令人印象深刻的视频一样:https://www.youtube.com/watch?v=EpDhaM7ZhZs。
我已经尝试过 Tango 相机的“启用遮挡”选项,但我对结果不太满意(它不准确且不实时,因为它基于点云的网格重建)。
如果您有关于如何实现这一目标的提示、提示或想法(如视频中所示),那就太棒了!
【问题讨论】:
标签:
unity3d
unity5
google-project-tango
【解决方案1】:
Occlusion 在 Tango 上仍然是一个非常实验性的功能。问题是很难做到高保真和高性能的遮挡,这里有几个关于如何使用不同方法来实现它的想法:
- 使用 3D 重建。
Tango 确实提供了从点云构建 3D 网格的功能,您可以从 Tango 示例代码库(C、Java、Unity)中找到示例代码。如果您有一个预先扫描的世界,您基本上可以使用该网格数据来遮挡虚拟对象。
- 运行时上采样深度图像。
您还可以将所有点云投影到图像平面上,对其进行上采样,并将图像用作深度缓冲区进行渲染。这就是 ARScreen 遮挡在 TangoUnitySDK 中使用的。由于 Tango 深度感应硬件的限制,结果质量不是很理想,如果所有物理物体都离设备很远(超过 4 米),它就无法工作。