XRFrame:getHitTestResults() 方法
XRFrame
接口的 getHitTestResults()
方法返回一个 XRHitTestResult
对象数组,其中包含给定 XRHitTestSource
的命中测试结果。
语法
js
getHitTestResults(hitTestSource)
参数
hitTestSource
-
一个
XRHitTestSource
对象,包含命中测试订阅。
返回值
一个 XRHitTestResult
对象数组。
示例
获取命中测试结果
要请求命中测试源,请启动一个启用了 hit-test
会话功能的 XRSession
。接下来,使用 XRSession.requestHitTestSource()
请求命中测试源并将其存储以供以后在帧循环中使用。最后,调用 getHitTestResults()
获取结果。
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
}
规范
规范 |
---|
WebXR 命中测试模块 # dom-xrframe-gethittestresults |
浏览器兼容性
BCD 表格仅在启用了 JavaScript 的浏览器中加载。