Dieser Inhalt wurde automatisch aus dem Englischen übersetzt, und kann Fehler enthalten. Erfahre mehr über dieses Experiment.

View in English Always switch to English

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 vor der Verwendung auf produktiven Webseiten.

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.

js
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.

js
hitTestSource.cancel();
hitTestSource = null;

Spezifikationen

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

Browser-Kompatibilität

Siehe auch