XRRigidTransform
XRRigidTransform 是一個 WebXR API 介面,它表示由位置和方向定義的 3D 幾何變換。
XRRigidTransform 用於在 WebXR API 中指定變換,包括:
- 使用
getOffsetReferenceSpace()建立新的引用空間時,相對於父級引用空間的偏移量和方向。 XRView的transform。XRPose的transform。XRReferenceSpaceEvent事件的transform屬性,該屬性在XRReferenceSpace接收到的reset事件中找到。
在這些地方使用 XRRigidTransform 而非提供矩陣資料的裸陣列有一個優點。它會自動計算變換的逆矩陣,甚至進行快取,從而使後續的請求速度顯著提高。
建構函式
XRRigidTransform()-
建立一個新的
XRRigidTransform物件,該物件表示一個應用指定位置和/或方向的變換。
例項屬性
XRRigidTransform.position只讀-
一個
DOMPointReadOnly,指定一個以米為單位的 3D 點,描述變換的平移分量。w屬性始終為1.0。 XRRigidTransform.orientation只讀-
一個
DOMPointReadOnly,其中包含一個單位四元數,描述變換的旋轉分量。作為單位四元數,其長度始終歸一化為1.0。 XRRigidTransform.matrix只讀-
以 16 元素
Float32Array的形式返回變換矩陣。有關如何使用陣列表示矩陣,請參閱 Matrix format 部分。 XRRigidTransform.inverse只讀-
返回一個
XRRigidTransform,它是此變換的逆變換。也就是說,如果將其應用於先前已被原始變換變換過的物件,它將撤銷變換並將物件恢復到原始狀態。
用法說明
當解釋 XRRigidTransform 時,始終先應用方向,然後再應用位置。
示例
此程式碼片段建立一個 XRRigidTransform,用於指定在建立新引用空間時相對於當前引用空間使用的偏移量和方向。然後,它透過呼叫會話的 requestAnimationFrame() 方法來請求第一個動畫幀回撥。
js
xrSession.requestReferenceSpace(refSpaceType).then((refSpace) => {
xrReferenceSpace = refSpace;
xrReferenceSpace = xrReferenceSpace.getOffsetReferenceSpace(
new XRRigidTransform(viewerStartPosition, cubeOrientation),
);
animationFrameRequestID = xrSession.requestAnimationFrame(drawFrame);
});
規範
| 規範 |
|---|
| WebXR Device API # xrrigidtransform-interface |
瀏覽器相容性
載入中…