概述Hit Test API 允许在 AR 会话中对摄像头视图进行空间命中测试,返回与现实平面或特征点的命中结果,并创建锚点用于稳定放置虚拟对象。示例(概念)const session = await navigator.xr.requestSession('immersive-ar', { requiredFeatures: ['hit-test'] })
const viewerSpace = await session.requestReferenceSpace('viewer')
const hitTestSource = await session.requestHitTestSource({ space: viewerSpace })
session.requestAnimationFrame((t, frame) => {
const hits = frame.getHitTestResults(hitTestSource)
if (hits.length) {
const pose = hits[0].getPose(await session.requestReferenceSpace('local'))
placeObjectAt(pose.transform)
}
})
工程建议放置与稳定:使用锚点与平面识别;对抖动进行平滑;处理遮挡与光照。权限与兼容:用户手势与设备支持检测;在不支持平台回退到非 AR 模式。性能:控制渲染与采样频率;避免主线程阻塞。参考与验证Immersive Web Hit Test 说明:https://immersive-web.github.io/hit-test/MDN WebXR 文档:https://developer.mozilla.org/docs/Web/API/WebXR_Device_API

发表评论 取消回复