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 |
瀏覽器相容性
載入中…