XRPose: transform 属性
XRPose 接口的只读属性 transform 是一个 XRRigidTransform 对象,它提供了姿势相对于基准 XRSpace 的位置和方向,这是通过调用 XRFrame.getPose() 获取姿势时指定的。
值
一个 XRRigidTransform 对象,它提供了 XRPose 相对于此 XRPose 所对齐的 XRFrame 的位置和方向。这与帧的 getPose() 方法返回的姿势相同。
示例
XRSession 事件 select 的此处理程序负责处理跟踪指针的事件。它通过将事件帧的姿势传递给一个名为 findTargetUsingRay() 的函数来确定目标对象,然后根据用户的左右手(通过将 XRInputSource 属性 handedness 的值与变量 user.handedness 中的值进行比较)来分派事件。如果源是用户主手的控制器,则在目标对象上调用名为 primaryAction() 的函数;否则,调用目标对象的 offHandAction() 函数。
js
xrSession.addEventListener("select", (event) => {
let source = event.inputSource;
let frame = event.frame;
let targetRayPose = frame.getPose(source.targetRaySpace, myRefSpace);
let targetObject = findTargetUsingRay(targetRay.transform.matrix);
if (source.targetRayMode === "tracked-pointer") {
if (source.handedness === user.handedness) {
targetObject.primaryAction();
} else {
targetObject.offHandAction();
}
}
});
规范
| 规范 |
|---|
| WebXR Device API # dom-xrpose-transform |
浏览器兼容性
加载中…