XRRigidTransform - 表示通过位置和方向描述的 3D 几何变换
XRRigidTransform 是 WebXR API 接口,表示通过位置和方向描述的 3D 几何变换。
XRRigidTransform 用于指定整个 WebXR API 的转换,包括:
- 与 
getOffsetReferenceSpace()创建新参考空间时要使用的相对于父参考空间的偏移和方向。 XRView的transform。XRPose的transform。XRReferenceSpaceEvent事件的transform属性,如resetXRReferenceSpace收到的事件。
在这些地方使用 XRRigidTransform 而不是提供矩阵数据的原始数组的优点是 XRRigidTransform 会自动执行类似计算逆变换的操作。更好的是,一旦对它进行了计算,就对其进行了缓存,以便随后的请求明显更快。
构造函数
 new XRRigidTransform()
创建一个新的 XRRigidTransform 对象,该对象表示应用指定位置和 / 或方向的变换。
属性
 XRRigidTransform.position 只读   
一个 DOMPointReadOnly,指定一个以米为单位的 3 维点,描述了转换的平移分量。w 属性始终为 1.0。
 XRRigidTransform.orientation 只读   
一个 DOMPointReadOnly,它包含描述转换的旋转分量的单元四元数。作为单位四元数,其长度始终为 1.0。
 XRRigidTransform.matrix 只读   
一个 Float32Array,包含了 16 个元素,表示转换矩阵。有关如何使用数组表示矩阵的信息,请参见矩阵格式。
 XRRigidTransform.inverse 只读   
返回一个 XRRigidTransform,它是此变换的逆过程。也就是说,如果将其应用于先前已通过原始变换进行了变换的对象,它将撤消该变换并返回原始对象。
使用注意
解释 XRRigidTransform 时,始终在应用位置之前将方向应用于受影响的对象。
实例
此代码段创建一个 XRRigidTransform,以指定相对于当前参考空间的偏移量和方向,以便在创建新的引用空间时使用。然后,它通过调用会话的 requestAnimationFrame() 方法来请求第一个动画帧回调。
xrSession.requestReferenceSpace(refSpaceType)
.then((refSpace) => {
  xrReferenceSpace = refSpace;
  xrReferenceSpace = xrReferenceSpace.getOffsetReferenceSpace(
        new XRRigidTransform(viewerStartPosition, cubeOrientation));
  animationFrameRequestID = xrSession.requestAnimationFrame(drawFrame);
规范
| 规范 | 状态 | 备注 | 
|---|---|---|
| WebXR Device API XRRigidTransform 的定义  | 
工作草案 | 初始定义。 | 
桌面浏览器兼容性
| 特性 | Chrome | Edge | Firefox | Internet Explorer | Opera | Safari | 
|---|---|---|---|---|---|---|
| 基础支持 | 79 | 79 | 不支持 | 不支持 | 不支持 | 不支持 | 
XRRigidTransform() 构造函数 | 79 | 79 | 不支持 | 不支持 | 不支持 | 不支持 | 
inverse | 79 | 79 | 不支持 | 不支持 | 不支持 | 不支持 | 
matrix | 79 | 79 | 不支持 | 不支持 | 不支持 | 不支持 | 
orientation | 79 | 79 | 不支持 | 不支持 | 不支持 | 不支持 | 
position | 79 | 79 | 不支持 | 不支持 | 不支持 | 不支持 | 
移动浏览器兼容性
| 特性 | Android | Chrome for Android | Edge mobile | Firefox for Android | IE mobile | Opera Android | iOS Safari | 
|---|---|---|---|---|---|---|---|
| 基础支持 | 不支持 | 79 | 未知 | 不支持 | 未知 | 不支持 | 不支持 | 
XRRigidTransform() 构造函数 | 不支持 | 79 | 未知 | 不支持 | 未知 | 不支持 | 不支持 | 
inverse | 不支持 | 79 | 未知 | 不支持 | 未知 | 不支持 | 不支持 | 
matrix | 不支持 | 79 | 未知 | 不支持 | 未知 | 不支持 | 不支持 | 
orientation | 不支持 | 79 | 未知 | 不支持 | 未知 | 不支持 | 不支持 | 
position | 不支持 | 79 | 未知 | 不支持 | 未知 | 不支持 | 不支持 |