我正在使用Project Tango处理增强现实。加载adf文件后,我将一个3d对象放置到区域学习过程中标记的每个位置,并添加3d对象
我希望3d对象是静态的,因为这些对象使用Coordinate对象精确地放置在特定位置,但是当我移动相机时,这些对象会被放错位置甚至振荡
我发现原因是当Tango连接时,当前位置被视为原点(0,0,0)并且对象被放置(在识别加载的adf之后,当然)相对到这个起源
有没有其他方法可以精确放置3d对象并使其静止?
答案 0 :(得分:1)
首先,对象的位置与保存的ADF有关。为了使对象恢复到原始位置,您需要重新定位。这需要:1。加载ADF。 2.在该区域内走动并重新定位设备。
对于设备启动服务对,Tango Service以(0,0,0)开始。但是一旦设备重新定位,app就会开始接收关于区域描述帧对的回调的设备。
如果您使用Unity,Area Learning example正在执行与您正在寻找的完全相同的事情。
答案 1 :(得分:0)
如果你正在放置好场景,可以选择tangoCoordinateFramePairs:通常如果你使用的是ADF文件,你应该设置:(在java中)
tangoCoordinateFramePairs.add(new TangoCoordinateFramePair(
TangoPoseData.COORDINATE_FRAME_AREA_DESCRIPTION,
TangoPoseData.COORDINATE_FRAME_START_OF_SERVICE));
然后在渲染中必须正确放置场景。