XRFrame: getHitTestResults() Methode

Limited availability

This feature is not Baseline because it does not work in some of the most widely-used browsers.

Experimentell: Dies ist eine experimentelle Technologie
Überprüfen Sie die Browser-Kompatibilitätstabelle sorgfältig, bevor Sie diese produktiv verwenden.

Sicherer Kontext: Diese Funktion ist nur in sicheren Kontexten (HTTPS) in einigen oder allen unterstützenden Browsern verfügbar.

Die getHitTestResults() Methode der XRFrame-Schnittstelle gibt ein Array von XRHitTestResult-Objekten zurück, die Hit-Test-Ergebnisse für eine gegebene XRHitTestSource enthalten.

Syntax

js
getHitTestResults(hitTestSource)

Parameter

hitTestSource

Ein XRHitTestSource-Objekt, das Hit-Test-Abonnements enthält.

Rückgabewert

Ein Array von XRHitTestResult-Objekten.

Beispiele

Abrufen von Hit-Test-Ergebnissen

Um eine Hit-Test-Quelle anzufordern, starten Sie eine XRSession mit der aktivierten Sitzungsfunktion hit-test. Fordern Sie als nächstes die Hit-Test-Quelle mit XRSession.requestHitTestSource() an und speichern Sie sie zur späteren Verwendung in der Frame-Schleife. Rufen Sie schließlich getHitTestResults() auf, um das Ergebnis 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
}

Spezifikationen

Specification
WebXR Hit Test Module
# dom-xrframe-gethittestresults

Browser-Kompatibilität

BCD tables only load in the browser

Siehe auch