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 |
浏览器兼容性
加载中…