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 |
浏览器兼容性
加载中…