2017-04-11 68 views
0

我正努力在Unity中使用Google Tango做遮挡。如何在Unity中使用Google Tango进行遮挡?

我想要什么是很容易理解:当在一个虚拟对象的前一个真正的对象,虚拟对象被隐藏(或呈现不同)

完美的结果会像它在这个我发现的令人印象深刻的视频:https://www.youtube.com/watch?v=EpDhaM7ZhZs

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

如果您有关于如何实现此目标的提示,提示或想法(如在视频中),那将非常棒!

回答

0

在Tango中,阻塞仍然是一个非常实验性的功能。问题是,这是很难做到的闭塞与高保真和高性能,这里是如何用不同的方法去实现它几个思路:

  1. 使用三维重建。

探戈没有提供的功能,构建从点云三维网格,你可以找到从探戈示例代码库(CJavaUnity)示例代码。如果你有一个预先扫描的世界,你可以基本上使用该网格数据来遮挡虚拟对象。

  1. 运行时上采样深度图像。

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