XRReferenceSpaceEvent: transform 属性
只读的 XRReferenceSpaceEvent 属性 transform 指示了受影响的 referenceSpace 在应用事件所代表的更改后,其本地原点的位置和方向。transform 是使用旧坐标系定义的,这使得它可以用来将坐标从事件发生前的坐标系转换为事件发生后的坐标系。
值
一个 XRRigidTransform 对象,提供了一个可以用来将坐标从事件发生前的坐标系转换为事件发生后坐标系的变换。
用法说明
收到 reset 事件后,您可以将 transform 应用于缓存的位置或方向信息,将其移至更新后的坐标系。或者,您可以直接丢弃任何缓存的位置信息并从头重新计算。您采取的方法将取决于您的需求。
有关导致 reset 事件的原因以及如何响应的详细信息,请参阅 reset 事件的文档。
示例
此示例通过遍历场景中的所有对象来处理 reset 事件,通过将每个对象的当前位置乘以事件给出的 transform 来更新每个对象的位置。场景由一个 scene 对象表示,场景中的所有对象都位于该对象内的名为 objects 的数组中。
js
xrReferenceSpace.addEventListener("reset", (event) => {
for (const obj of scene.objects) {
mat4.multiply(obj.transform, obj.transform, event.transform);
}
});
规范
| 规范 |
|---|
| WebXR Device API # dom-xrreferencespaceevent-transform |
浏览器兼容性
加载中…