XRTransientInputHitTestSource
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 vor der Verwendung auf produktiven Webseiten.
Das XRTransientInputHitTestSource-Interface der WebXR Device API verwaltet flüchtige Eingabe-Hittests-Abonnements. Sie können ein XRTransientInputHitTestSource-Objekt erhalten, indem Sie XRSession.requestHitTestSourceForTransientInput() aufrufen.
Dieses Objekt selbst enthält keine flüchtigen Eingabe-Hittest-Ergebnisse, sondern es wird verwendet, um für jedes XRFrame Hittests zu berechnen, indem XRFrame.getHitTestResultsForTransientInput() aufgerufen wird, was XRTransientInputHitTestResult-Objekte zurückgibt.
Instanz-Eigenschaften
Keine.
Instanz-Methoden
XRTransientInputHitTestSource.cancel()Experimentell-
Kündigt das Abonnement für den flüchtigen Eingabe-Hittest.
Beispiele
>Erhalten eines XRTransientInputHitTestSource-Objekts für eine Sitzung
Verwenden Sie die Methode XRSession.requestHitTestSourceForTransientInput(), um eine Quelle für flüchtige Eingabe-Hittests zu erhalten.
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
}
Abbestellen eines flüchtigen Eingabe-Hittests
Um ein Abonnement für eine flüchtige Eingabe-Hittest-Quelle zu kündigen, verwenden Sie die Methode XRTransientInputHitTestSource.cancel(). Da das Objekt danach nicht mehr nutzbar ist, können Sie bereinigen und das XRTransientInputHitTestSource-Objekt auf null setzen.
transientHitTestSource.cancel();
transientHitTestSource = null;
Spezifikationen
| Specification |
|---|
| WebXR Hit Test Module> # transient-input-hit-test-source-interface> |
Browser-Kompatibilität
Loading…