如何在Unity中使用Google Tango进行遮挡?

时间:2017-04-11 17:57:03

标签: unity3d unity5 google-project-tango

我想在Unity中使用Google Tango进行遮挡。

我想要的是很容易理解:当虚拟对象前面有一个真实对象时,虚拟对象被隐藏(或以不同方式呈现)

完美的结果就像在我发现的这段令人印象深刻的视频中一样:https://www.youtube.com/watch?v=EpDhaM7ZhZs

我已经尝试过Tango相机的“启用遮挡”选项,我对结果不太满意(它不准确,不是实时,因为它基于点云的网格重建)。

如果您有关于如何实现这一目标的提示,提示或想法(如在视频中),那就太棒了!

1 个答案:

答案 0 :(得分:0)

遮挡仍然是Tango的一个非常实验性的功能。问题是高保真和高性能的遮挡非常困难,这里有几个关于如何使用不同方法实现它的想法:

  1. 使用3D重建。
  2. Tango确实提供了从点云构建3D网格的功能,您可以从Tango示例代码存储库(CJavaUnity)中找到示例代码。如果您有一个预扫描的世界,您基本上可以使用该网格数据来遮挡虚拟对象。

    1. 运行时间上采样深度图像。
    2. 您还可以将所有点云投影到图像平面上,对其进行上采样,并将图像用作渲染的深度缓冲区。这就是ARScreen遮挡在TangoUnitySDK中使用的。由于Tango深度感应硬件的限制,结果质量不是很理想,如果所有物理距离设备很远(超过4米),它将无法工作。