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()
方法。由于该对象将不再可用,因此您可以清理并设置XRTransientInputHitTestSource
对象为null
。
js
transientHitTestSource.cancel();
transientHitTestSource = null;
规范
规范 |
---|
WebXR 命中测试模块 # transient-input-hit-test-source-interface |
浏览器兼容性
BCD 表格仅在浏览器中加载