XRPose:transform 属性
transform
是 XRPose
接口的只读属性,它是一个 XRRigidTransform
对象,它提供姿势相对于基准 XRSpace
的位置和方向,如调用 XRFrame.getPose()
获取姿势时所指定的那样。
值
一个 XRRigidTransform
,它提供 XRPose
相对于 XRFrame
的位置和方向,该 XRFrame
与此 XRPose
对齐。这与框架的 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 设备 API # dom-xrpose-transform |
浏览器兼容性
BCD 表仅在浏览器中加载