XRSession: requestReferenceSpace() 方法
XRSession 接口的 requestReferenceSpace() 方法返回一个 promise,该 promise 会根据请求的参考空间类型,解析为 XRReferenceSpace 或 XRBoundedReferenceSpace 实例。
语法
requestReferenceSpace(referenceSpaceType)
参数
type-
一个字符串,指定要返回其实例的参考空间类型。字符串必须是下面的值之一。
返回值
一个 Promise,它解析为一个 XRReferenceSpace 对象。
参考空间类型列在下面,并附有其用例和用于实现它们的接口的简要信息。
有界地板-
一个
XRBoundedReferenceSpace,类似于local类型,但用户预计不会超出由返回对象中的boundsGeometry给出的预定边界。 local-
一个
XRReferenceSpace跟踪空间,其原生原点位于会话创建时查看器的位置附近。确切位置取决于底层平台和实现。用户不应该超出其起始位置太多(如果会移动的话),并且跟踪针对此用例进行了优化。对于具有六个自由度 (6DoF) 跟踪的设备,local参考空间会尝试使原点相对于环境保持稳定。 局部地板-
一个
XRReferenceSpace,类似于local类型,但起始位置被放置在对查看者来说安全站立的位置,此时 y 轴的值在地面水平处为 0。如果不知道地面水平,用户代理会估算地面水平。如果估算的地面水平非零,则浏览器应将其舍入以避免指纹识别(可能舍入到最接近的厘米)。 无界-
一个
XRReferenceSpace跟踪空间,允许用户完全自由移动,可能从其原点非常远的距离。用户根本不会被跟踪;跟踪针对用户当前位置附近的稳定性进行了优化,因此原生原点可以根据需要漂移以适应此需求。 查看器-
一个
XRReferenceSpace跟踪空间,其原生原点跟踪查看者的位置和方向。这用于用户可以物理移动的环境,并得到所有XRSession实例(沉浸式和内联)的支持,尽管它对内联会话最有用。当确定查看者与输入之间的距离或使用偏移空间时,它特别有用。否则,通常会更频繁地使用其他参考空间类型。
异常
requestReferenceSpace() 不会抛出真正的异常,而是会拒绝返回的 promise,并使用下面的列表中的名称的 DOMException。
NotSupportedError-
请求的参考空间不受支持。
规范
| 规范 |
|---|
| WebXR Device API # dom-xrsession-requestreferencespace |
浏览器兼容性
加载中…