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