如何在Unity中设置ARCore Pose?
How to set up ARCore Pose in Unity?
最近,我的团队尝试使用 Unity 制作一个 ARCore 运动跟踪应用程序。该应用程序读取二维码并根据二维码设置我的当前位置和旋转数据。此外,该应用程序还根据二维码数据设置姿势。
但是我在参考文档中只找到了一个API获取pose的,没有设置pose。如何在 Unity 中设置 ARCore 姿势?
Pose ArCamera(Unity的ArFrame的ARCore设备的摄像头)只能获取,不能设置。
设置为可设置没有什么深刻意义,因为当ArSession启动时,3D场景的原点将被放置在ArCamera的起始位置运行。因此 3D 场景一直存在,直到 ArSession 被销毁(并且轴原点在同一位置,而会话为 运行)。
下面是一段代码,展示了如何获取 ArCamera 的 Pose:
public class Frame {
public static Pose Pose {
get {
var session = LifecycleManager.Instance.NativeSession;
if (session == null) {
return Pose.identity;
}
var camera = session.FrameApi.AcquireCamera();
Pose result = session.CameraApi.GetPose(camera);
session.CameraApi.Release(camera);
return result;
}
}
}
最近,我的团队尝试使用 Unity 制作一个 ARCore 运动跟踪应用程序。该应用程序读取二维码并根据二维码设置我的当前位置和旋转数据。此外,该应用程序还根据二维码数据设置姿势。
但是我在参考文档中只找到了一个API获取pose的,没有设置pose。如何在 Unity 中设置 ARCore 姿势?
Pose ArCamera(Unity的ArFrame的ARCore设备的摄像头)只能获取,不能设置。
设置为可设置没有什么深刻意义,因为当ArSession启动时,3D场景的原点将被放置在ArCamera的起始位置运行。因此 3D 场景一直存在,直到 ArSession 被销毁(并且轴原点在同一位置,而会话为 运行)。
下面是一段代码,展示了如何获取 ArCamera 的 Pose:
public class Frame {
public static Pose Pose {
get {
var session = LifecycleManager.Instance.NativeSession;
if (session == null) {
return Pose.identity;
}
var camera = session.FrameApi.AcquireCamera();
Pose result = session.CameraApi.GetPose(camera);
session.CameraApi.Release(camera);
return result;
}
}
}