XRHitTestSource
Limited availability
This feature is not Baseline because it does not work in some of the most widely-used browsers.
Sicherer Kontext: Diese Funktion ist nur in sicheren Kontexten (HTTPS) in einigen oder allen unterstützenden Browsern verfügbar.
Experimentell: Dies ist eine experimentelle Technologie
Überprüfen Sie die Browser-Kompatibilitätstabelle sorgfältig, bevor Sie diese produktiv verwenden.
Das XRHitTestSource
Interface der WebXR Device API verwaltet Hit-Test-Abonnements. Sie können ein XRHitTestSource
-Objekt mit der Methode XRSession.requestHitTestSource()
erhalten.
Dieses Objekt enthält selbst keine Hit-Test-Ergebnisse, aber es wird verwendet, um für jeden XRFrame
Hit-Tests zu berechnen, indem XRFrame.getHitTestResults()
aufgerufen wird, was XRHitTestResult
-Objekte zurückgibt.
Instanz-Eigenschaften
Keine.
Instanz-Methoden
XRHitTestSource.cancel()
Experimentell-
Meldet das Abonnement vom Hit-Test ab.
Beispiele
Erhalten eines XRHitTestSource
-Objekts für eine Sitzung
Rufen Sie XRSession.requestHitTestSource()
auf, um eine Hit-Test-Quelle zu erhalten.
const xrSession = navigator.xr.requestSession("immersive-ar", {
requiredFeatures: ["local", "hit-test"],
});
let hitTestSource = null;
xrSession
.requestHitTestSource({
space: viewerSpace, // obtained from xrSession.requestReferenceSpace("viewer");
offsetRay: new XRRay({ y: 0.5 }),
})
.then((viewerHitTestSource) => {
hitTestSource = viewerHitTestSource;
});
// frame loop
function onXRFrame(time, xrFrame) {
let hitTestResults = xrFrame.getHitTestResults(hitTestSource);
// do things with the hit test results
}
Vom Hit-Test abmelden
Um sich von einer Hit-Test-Quelle abzumelden, rufen Sie XRHitTestSource.cancel()
auf. Da das Objekt nicht mehr verwendbar ist, können Sie aufräumen und das XRHitTestSource
-Objekt auf null
setzen.
hitTestSource.cancel();
hitTestSource = null;
Spezifikationen
Specification |
---|
WebXR Hit Test Module # hit-test-source-interface |
Browser-Kompatibilität
BCD tables only load in the browser