You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在ARCore中通过Frame获取平移与旋转信息?

获取ARCore Frame的平移与旋转信息

Hey there! I get where you're coming from—API changes can be confusing at first. Let's break this down clearly:

其实你之前的代码逻辑方向是对的,getTranslation()和getRotationQuaternion()从始至终都是Pose类的方法,只是旧版本的API文档可能没那么明确标注归属,现在更新后把它们的归属清晰归到了Pose下而已。而arFrame.getPose()本身就会返回一个有效的Pose实例,你只需要基于这个实例调用对应的方法就行。

如果你的ARCore版本更新后原有代码报错,大概率是方法签名的细微调整,以下是符合当前API规范的正确实现:

示例代码

// 先获取当前Frame对应的Pose对象
Pose framePose = arFrame.getPose();

// 定义存储平移数据的数组(至少需要3个元素)
float[] translation = new float[3];
// 提取平移信息,第二个参数是数组的起始偏移量
framePose.getTranslation(translation, 0);

// 定义存储旋转四元数的数组(至少需要4个元素)
float[] rotation = new float[4];
// 提取旋转四元数信息
framePose.getRotationQuaternion(rotation, 0);

额外提醒

  • 务必确保你是在AR会话的更新回调(比如onUpdate(FrameTime frameTime)方法)内获取arFrame,此时的Frame才是有效且包含最新姿态数据的。
  • 若使用较新的ARCore版本,还可以尝试Pose类提供的便捷方法(比如直接获取Vector3格式的平移数据),但核心逻辑始终是:通过Frame拿到Pose实例,再从Pose中提取姿态信息。

内容的提问来源于stack exchange,提问作者Anuj

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.21 08:39:43