XRTransientInputHitTestResult

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 XRTransientInputHitTestResult-Interface der WebXR Device API enthält ein Array von Ergebnissen eines Hit-Tests für transienten Input, gruppiert nach Eingabequelle.

Sie können ein Array von XRHitTestResult-Objekten für einen Frame erhalten, indem Sie XRFrame.getHitTestResultsForTransientInput() aufrufen.

Instanzeigenschaften

XRTransientInputHitTestResult.inputSource Schreibgeschützt Experimentell

Repräsentiert die XRInputSource, die verwendet wurde, um das results-Array zu berechnen.

XRTransientInputHitTestResult.results Schreibgeschützt Experimentell

Repräsentiert ein Array von XRHitTestResult-Objekten, die die Hit-Test-Ergebnisse für die Eingabequelle enthalten, geordnet nach der Entfernung entlang des Strahls, der zur Durchführung des Hit-Tests verwendet wurde, wobei das nächste Ergebnis an Position 0 steht.

Instanzmethoden

Keine.

Beispiele

Zugriff auf transienten Input-Hit-Test-Ergebnisse

Zwei Arrays werden verwendet, um auf transiente Input-Hit-Test-Ergebnisse zuzugreifen. Zuerst erhalten Sie ein Array von XRTransientInputHitTestResult-Objekten, indem Sie XRFrame.getHitTestResultsForTransientInput() aufrufen. Zweitens, um zu den eigentlichen XRHitTestResult-Objekten für eine Eingabequelle zu gelangen, dereferenzieren Sie die results-Eigenschaft eines der XRTransientInputHitTestResult-Objekte.

js
// frame loop
function onXRFrame(time, xrFrame) {
  let hitTestResults = xrFrame.getHitTestResultsForTransientInput(
    transientHitTestSource,
  );

  hitTestResults.forEach((resultsPerInputSource) => {
    resultsPerInputSource.results.forEach((hitTest) => {
      // do something with the hit test
      hitTest.getPose(referenceSpace);
    });
  });
}

Filtern von Eingabequellen

Die inputSource-Eigenschaft ermöglicht es Ihnen, Hit-Test-Ergebnisse nach Eingabequelle zu filtern.

js
// frame loop
function onXRFrame(time, xrFrame) {
  let hitTestResults = xrFrame.getHitTestResultsForTransientInput(
    transientHitTestSource,
  );

  hitTestResults.forEach((resultsPerInputSource) => {
    if (resultsPerInputSource.inputSource === myPreferredInputSource) {
      // act on hit test results from the preferred input source
    }
  });
}

Spezifikationen

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

Browser-Kompatibilität

BCD tables only load in the browser

Siehe auch