如何使用Frame ARCore进行翻译?

时间:2018-04-02 20:18:52

标签: java android arcore

我正在研究一个陈旧的AR项目,我正在更新它。这使用了ARCore。我能够更新所有功能,但只是在某一点上感到困惑。 之前,我可以使用当前帧并使用以下行进行旋转和平移:

arFrame.getPose()。getTranslation(translation,0); arFrame.getPose()。getRotationQuaternion(rotation,0);

但是现在我认为getTranslation()和getRotationQuanternion()已经在Pose for ARCore下移动了。那么,我如何将它用于框架?

由于

1 个答案:

答案 0 :(得分:2)

如果您的项目是使用其中一个SDK预览创建的,那么ARCore API可能会略有改变。目前的姿势现在与Camera而不是Frame相关联。您可以先获取对相机的参考来访问该姿势:

Camera camera = arFrame.getCamera();
Pose pose = camera.getPose();
pose.getTranslation(translation, 0);
pose. getRotationQuaternion(rotation, 0);

请注意,这仅在Camera的当前跟踪状态为TRACKING时才有用,因此您可能需要在提取Pose之前检查{{1}}:{{3} }