如何使用 Frame ARCore 获取翻译?
How to get Translation using Frame ARCore?
我正在做一个旧的 AR 项目,我正在更新它。这使用 ARCore。我能够更新所有功能,但只在某一点感到困惑。
早些时候,我可以使用当前帧并使用以下行对其进行旋转和平移:
arFrame.getPose().getTranslation(翻译, 0);
arFrame.getPose().getRotationQuaternion(旋转, 0);
但现在我认为 getTranslation() 和 getRotationQuanternion() 已移至 ARCore 的 Pose 之下。那么,我该如何将其用于框架呢?
谢谢
如果您的项目是使用其中一种 SDK 预览创建的,则 ARCore API 可能会略有变化。当前姿势现在与 Camera
而不是 Frame
相关联。您可以通过先获取对相机的引用来访问姿势:
Camera camera = arFrame.getCamera();
Pose pose = camera.getPose();
pose.getTranslation(translation, 0);
pose. getRotationQuaternion(rotation, 0);
请注意,这仅在 Camera
的当前跟踪状态为 TRACKING
时才有用,因此您可能需要在提取 Pose
之前检查一下:https://developers.google.com/ar/reference/java/com/google/ar/core/Camera.html#getPose()
我正在做一个旧的 AR 项目,我正在更新它。这使用 ARCore。我能够更新所有功能,但只在某一点感到困惑。 早些时候,我可以使用当前帧并使用以下行对其进行旋转和平移:
arFrame.getPose().getTranslation(翻译, 0); arFrame.getPose().getRotationQuaternion(旋转, 0);
但现在我认为 getTranslation() 和 getRotationQuanternion() 已移至 ARCore 的 Pose 之下。那么,我该如何将其用于框架呢?
谢谢
如果您的项目是使用其中一种 SDK 预览创建的,则 ARCore API 可能会略有变化。当前姿势现在与 Camera
而不是 Frame
相关联。您可以通过先获取对相机的引用来访问姿势:
Camera camera = arFrame.getCamera();
Pose pose = camera.getPose();
pose.getTranslation(translation, 0);
pose. getRotationQuaternion(rotation, 0);
请注意,这仅在 Camera
的当前跟踪状态为 TRACKING
时才有用,因此您可能需要在提取 Pose
之前检查一下:https://developers.google.com/ar/reference/java/com/google/ar/core/Camera.html#getPose()