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 |
瀏覽器相容性
載入中…