Dieser Inhalt wurde automatisch aus dem Englischen übersetzt, und kann Fehler enthalten. Erfahre mehr über dieses Experiment.
XRTransientInputHitTestResult
Eingeschränkt verfügbar
Diese Funktion ist nicht Baseline, da sie in einigen der am weitesten verbreiteten Browser nicht funktioniert.
Want more support for this feature? Tell us why.
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.inputSourceSchreibgeschützt-
Repräsentiert die
XRInputSource, die verwendet wurde, um dasresults-Array zu berechnen. XRTransientInputHitTestResult.resultsSchreibgeschützt-
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.
// 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.
// 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
| Spezifikation |
|---|
| WebXR Hit Test Module> # xr-transient-input-hit-test-result-interface> |
Browser-Kompatibilität
JavaScript aktivieren, um diese Browser-Kompatibilitätstabelle anzuzeigen.