我试图在增强现实游戏中坚持标记。这里是我正在做的要点:如何在TangoARPoseController中使用ADF来保存标记
我让我的用户录制并保存一个区域到ADF。然后他们将标记放入场景中,并将其位置数据以Unity World坐标保存到文本文件中。然后我重新启动应用程序,加载并定位到ADF并加载标记。
为了得到这个工作,我修改了Unity演示包中的ARPoseController.cs文件,以使用区域描述作为基础框架。在_UpdateTransformation
方法我已经换出的帧对
pair.baseFrame = TangoEnums.TangoCoordinateFrameType.TANGO_COORDINATE_FRAME_START_OF_SERVICE;
pair.targetFrame = TangoEnums.TangoCoordinateFrameType.TANGO_COORDINATE_FRAME_DEVICE;
为
pair.baseFrame = TangoEnums.TangoCoordinateFrameType.TANGO_COORDINATE_FRAME_AREA_DESCRIPTION;
pair.targetFrame = TangoEnums.TangoCoordinateFrameType.TANGO_COORDINATE_FRAME_DEVICE;
我还添加了一些代码,确认我成功地本地化的ADF,但我注意到我在Unity World Space中的标记位置相对于真实环境的位置不正确。
我可以确认我的标记保存并根据START_OF_SERVICE原点正确加载,因此我假定它们正确地序列化和反序列化。什么可能导致这个?我错误地认为这应该只是通过将基本框架对切换到Area_Description而不是START_OF_SERVICE来工作?