XRTransientInputHitTestResult
XRTransientInputHitTestResult 介面屬於 WebXR Device API,它包含一個按輸入源分組的、用於瞬時輸入命中測試結果的陣列。
您可以透過呼叫 XRFrame.getHitTestResultsForTransientInput() 來獲取一幀的 XRHitTestResult 物件陣列。
例項屬性
XRTransientInputHitTestResult.inputSource只讀 實驗性-
表示用於計算
results陣列的XRInputSource。 XRTransientInputHitTestResult.results只讀 實驗性-
表示一個
XRHitTestResult物件陣列,其中包含輸入源的命中測試結果,按用於執行命中測試的光線方向上的距離排序,最近的結果位於索引 0 處。
例項方法
無。
示例
訪問瞬時輸入命中測試結果
使用兩個陣列來訪問瞬時輸入命中測試結果。首先,透過呼叫 XRFrame.getHitTestResultsForTransientInput() 獲取 XRTransientInputHitTestResult 物件陣列。其次,要獲取輸入源的實際 XRHitTestResult 物件,您需要解引用 XRTransientInputHitTestResult 物件之一的 results 屬性。
js
// frame loop
function onXRFrame(time, xrFrame) {
let hitTestResults = xrFrame.getHitTestResultsForTransientInput(
transientHitTestSource,
);
hitTestResults.forEach((resultsPerInputSource) => {
resultsPerInputSource.results.forEach((hitTest) => {
// do something with the hit test
hitTest.getPose(referenceSpace);
});
});
}
過濾輸入源
inputSource 屬性允許您按輸入源過濾命中測試結果。
js
// frame loop
function onXRFrame(time, xrFrame) {
let hitTestResults = xrFrame.getHitTestResultsForTransientInput(
transientHitTestSource,
);
hitTestResults.forEach((resultsPerInputSource) => {
if (resultsPerInputSource.inputSource === myPreferredInputSource) {
// act on hit test results from the preferred input source
}
});
}
規範
| 規範 |
|---|
| WebXR Hit Test 模組 # xr-transient-input-hit-test-result-interface |
瀏覽器相容性
載入中…