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

Report problems with this compatibility data on GitHub
desktopmobile
Chrome
Edge
Firefox
Opera
Safari
Chrome Android
Firefox for Android
Opera Android
Safari on iOS
Samsung Internet
WebView Android
WebView on iOS
XRTransientInputHitTestResult
Experimental
inputSource
Experimental
results
Experimental

Legend

Tip: you can click/tap on a cell for more information.

Full support
Full support
No support
No support
Experimental. Expect behavior to change in the future.
See implementation notes.

Siehe auch