XRTransientInputHitTestResult
WebXR 设备 API的XRTransientInputHitTestResult
接口包含一组瞬态输入命中测试的结果,按输入源分组。
您可以通过调用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 命中测试模块 # xr-transient-input-hit-test-result-interface |
浏览器兼容性
BCD 表格仅在启用 JavaScript 的浏览器中加载。