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 Hit Test 模块 # dom-xrframe-gethittestresults |
浏览器兼容性
加载中…