XRTransientInputHitTestSource
XRTransientInputHitTestSource 介面是 WebXR 裝置 API 的一部分,用於處理瞬態輸入命中測試訂閱。您可以透過呼叫 XRSession.requestHitTestSourceForTransientInput() 來獲取一個 XRTransientInputHitTestSource 物件。
此物件本身不包含瞬態輸入命中測試結果,但它用於透過呼叫 XRFrame.getHitTestResultsForTransientInput() 來為每個 XRFrame 計算命中測試,該方法返回 XRTransientInputHitTestResult 物件。
例項屬性
無。
例項方法
XRTransientInputHitTestSource.cancel()實驗性-
取消訂閱瞬態輸入命中測試。
示例
為會話獲取 XRTransientInputHitTestSource 物件
使用 XRSession.requestHitTestSourceForTransientInput() 方法來獲取瞬態輸入命中測試源。
js
const xrSession = navigator.xr.requestSession("immersive-ar", {
requiredFeatures: ["local", "hit-test"],
});
let transientHitTestSource = null;
xrSession
.requestHitTestSourceForTransientInput({
profile: "generic-touchscreen",
offsetRay: new XRRay(),
})
.then((touchScreenHitTestSource) => {
transientHitTestSource = touchScreenHitTestSource;
});
// frame loop
function onXRFrame(time, xrFrame) {
let hitTestResults = xrFrame.getHitTestResultsForTransientInput(
transientHitTestSource,
);
// do things with the transient hit test results
}
取消訂閱瞬態輸入命中測試
要取消訂閱瞬態輸入命中測試源,請使用 XRTransientInputHitTestSource.cancel() 方法。由於該物件將不再可用,您可以進行清理並將其設定為 null。
js
transientHitTestSource.cancel();
transientHitTestSource = null;
規範
| 規範 |
|---|
| WebXR Hit Test 模組 # transient-input-hit-test-source-interface |
瀏覽器相容性
載入中…