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

View in English Always switch to English

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

Siehe auch