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

瀏覽器相容性