XRHitTestSource
XRHitTestSource
是WebXR 设备 API中的一个接口,用于处理命中测试订阅。可以使用XRSession.requestHitTestSource()
方法获取 XRHitTestSource
对象。
此对象本身不包含命中测试结果,但它用于为每个XRFrame
计算命中测试,方法是调用XRFrame.getHitTestResults()
,该方法返回XRHitTestResult
对象。
实例属性
无。
实例方法
XRHitTestSource.cancel()
实验性-
取消订阅命中测试。
示例
获取会话的 XRHitTestSource
对象
调用XRSession.requestHitTestSource()
以获取命中测试源。
js
const xrSession = navigator.xr.requestSession("immersive-ar", {
requiredFeatures: ["local", "hit-test"],
});
let hitTestSource = null;
xrSession
.requestHitTestSource({
space: viewerSpace, // obtained from xrSession.requestReferenceSpace("viewer");
offsetRay: new XRRay({ y: 0.5 }),
})
.then((viewerHitTestSource) => {
hitTestSource = viewerHitTestSource;
});
// frame loop
function onXRFrame(time, xrFrame) {
let hitTestResults = xrFrame.getHitTestResults(hitTestSource);
// do things with the hit test results
}
取消订阅命中测试
要取消订阅命中测试源,请调用XRHitTestSource.cancel()
。由于该对象将不再可用,因此可以清理并将 XRHitTestSource
对象设置为null
。
js
hitTestSource.cancel();
hitTestSource = null;
规范
规范 |
---|
WebXR 命中测试模块 # hit-test-source-interface |
浏览器兼容性
BCD 表仅在启用 JavaScript 的浏览器中加载。