XRHitTestSource
XRHitTestSource 接口是 WebXR 设备 API 的一部分,用于处理命中测试订阅。您可以通过使用 XRSession.requestHitTestSource() 方法获取 XRHitTestSource 对象。
此对象本身不包含命中测试结果,但它用于通过调用 XRFrame.getHitTestResults() 来为每个 XRFrame 计算命中测试,该方法返回 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()。由于该对象将不再可用,您可以清理并将其设置为 null。
js
hitTestSource.cancel();
hitTestSource = null;
规范
| 规范 |
|---|
| WebXR Hit Test 模块 # hit-test-source-interface |
浏览器兼容性
加载中…