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.

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
}

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.

js
transientHitTestSource.cancel();
transientHitTestSource = null;

Spezifikationen

Specification
WebXR Hit Test Module
# transient-input-hit-test-source-interface

Browser-Kompatibilität

BCD tables only load in the browser

Siehe auch