XRRigidTransform:inverse 属性

安全上下文:此功能仅在安全上下文(HTTPS)中可用,在某些或所有支持的浏览器中。

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

一个包含其访问的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,
  );

  // …
}

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

规范

规范
WebXR 设备 API
# dom-xrrigidtransform-inverse

浏览器兼容性

BCD 表格仅在启用 JavaScript 的浏览器中加载。