XRRigidTransform: inverse 属性

可用性有限

此特性不是基线特性,因为它在一些最广泛使用的浏览器中不起作用。

安全上下文: 此功能仅在安全上下文(HTTPS)中可用,且支持此功能的浏览器数量有限。

XRRigidTransform 接口的只读 inverse 属性会返回另一个 XRRigidTransform 对象,该对象是其所属变换的逆变换。也就是说,您始终可以使用任何 XRRigidTransforminverse 属性来获取其逆变换,而无需显式生成它。

一个 XRRigidTransform 对象,其中包含在其上访问的 XRRigidTransform 的逆变换。

将变换的逆变换应用于之前被父 XRRigidTransform 变换过的任何对象,总是会撤销该变换,使对象恢复到其之前的姿态。换句话说,其位置和方向都会恢复到先前的配置。

示例

在此示例中,对象的模型视图矩阵是通过将视图矩阵乘以对象的姿态矩阵来计算的。

js
const modelViewMatrix = mat4.create();

for (const view of pose.view) {
  const viewport = glLayer.getViewport(view);
  gl.viewport(viewport.x, viewport.y, viewport.width, viewport.height);

  // …

  mat4.multiply(modelViewMatrix, view.transform.inverse.matrix, objectMatrix);
  gl.uniformMatrix4fv(
    programInfo.uniformLocations.modelViewMatrix,
    false,
    modelViewMatrix,
  );

  // …
}

此渲染器核心代码的概述显示了姿态的视图是如何通过将其变换的逆矩阵作为模型视图矩阵来表示的,该矩阵用于根据查看者的位置和方向来变换对象。逆矩阵乘以对象的矩阵以获得模型视图矩阵,然后通过设置一个 uniform 来包含该信息并将其传递给着色器程序。

规范

规范
WebXR Device API
# dom-xrrigidtransform-inverse

浏览器兼容性