XRReferenceSpaceEvent: transform 属性

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

只读的 XRReferenceSpaceEvent 属性 transform 指示事件表示的更改应用后,受影响的 referenceSpace 的本地原点的位置和方向。transform 是使用旧的坐标系定义的,这使得它可以用于将坐标从事件前的坐标系转换为事件后的坐标系。

一个 XRRigidTransform 对象,提供了一个可以用来将坐标从事件前的坐标系转换为事件后的坐标系的变换。

用法说明

收到 reset 事件后,您可以将 transform 应用于缓存的位置或方向信息,将其移到更新的坐标系中。或者,您可以只丢弃任何缓存的位置信息并从头开始重新计算。您采取的方法将取决于您的需求。

有关导致 reset 事件的原因以及如何响应的详细信息,请参阅 reset 事件的文档。

示例

此示例通过遍历场景中的所有对象,将每个对象的 position 乘以事件给定的 transform 来处理 reset 事件。场景由一个 scene 对象表示,其中所有对象都位于名为 objects 的数组中。

js
xrReferenceSpace.addEventListener("reset", (event) => {
  for (const obj of scene.objects) {
    mat4.multiply(obj.transform, obj.transform, event.transform);
  }
});

规范

规范
WebXR 设备 API
# dom-xrreferencespaceevent-transform

浏览器兼容性

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