Dieser Inhalt wurde automatisch aus dem Englischen übersetzt, und kann Fehler enthalten.Erfahre mehr über dieses Experiment.
XRInputSourceEvent
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 insicheren Kontexten (HTTPS) in einigen oder allenunterstützenden Browsern verfügbar.
DieXRInputSourceEvent-Schnittstelle derWebXR Device API beschreibt ein Ereignis, das auf einem WebXR-Benutzereingabegerät, wie einem Handcontroller, einem Blickverfolgungssystem oder einem Bewegungserkennungssystem, aufgetreten ist. Genauer gesagt, repräsentieren sie eine Änderung im Zustand einerXRInputSource.
Um mehr über die Handhabung von Eingaben in einem WebXR-Projekt zu erfahren, lesen Sie den ArtikelEingaben und Eingabequellen.
In diesem Artikel
Konstruktor
XRInputSourceEvent()Erstellt und gibt ein neues
XRInputSourceEvent-Objekt zurück, dessen Eigenschaften denen im bereitgestellteneventInitDict-Wörterbuch entsprechen.
Instanz-Eigenschaften
frameSchreibgeschütztEin
XRFrame-Objekt, das die benötigten Informationen über den Ereignisrahmen bereitstellt, in dem das Ereignis aufgetreten ist. Dieser Rahmen könnte in der Vergangenheit gerendert worden sein, anstatt ein aktueller Rahmen zu sein. Da dies einEreignisrahmen ist, nicht einAnimationsrahmen, können Sie dieXRFrame-MethodegetViewerPose()nicht darauf aufrufen; verwenden Sie stattdessengetPose().inputSourceSchreibgeschütztEin
XRInputSource-Objekt, das angibt, welche Eingabequelle das Eingabeereignis erzeugt hat.
Instanz-Methoden
DieXRInputSourceEvent-Schnittstelle definiert keine Methoden; jedoch werden mehrere Methoden von der Elternschnittstelle,Event, geerbt.
Ereignisarten
selectWird an eine
XRSessiongesendet, wenn die sendende Eingabequelle eineprimäre Aktion vollständig abgeschlossen hat.selectendWird an eine
XRSessiongesendet, wenn eine laufendeprimäre Aktion endet oder wenn eine Eingabequelle mit einer laufenden primären Aktion vom System getrennt wurde.selectstartWird an eine
XRSessiongesendet, wenn eine Eingabequelle ihreprimäre Aktion beginnt, was darauf hinweist, dass der Benutzer mit einem befehlsähnlichen Eingang begonnen hat, z. B. das Drücken eines Triggers oder Knopfes, das Aussprechen eines Sprachbefehls, das Tippen auf ein Touchpad oder Ähnliches.squeezeWird an eine
XRSessiongesendet, wenn die sendende Eingabequelle eineprimäre Quetschaktion vollständig abgeschlossen hat.squeezeendWird an eine
XRSessiongesendet, wenn eine laufendeprimäre Quetschaktion endet oder wenn eine Eingabequelle mit einer laufenden primären Quetschaktion getrennt wird.squeezestartWird an eine
XRSessiongesendet, wenn eine Eingabequelle ihreprimäre Quetschaktion beginnt, was darauf hinweist, dass der Benutzer begonnen hat, den Controller zu greifen, zu quetschen oder zu fassen.
Beispiele
Der untenstehende Code richtet Handler für primäre Aktionsereignisse ein, um festzustellen, wann der Benutzer auf Objekte in der Szene klickt (schießt/anstupst/was auch immer).
xrSession.addEventListener("select", (event) => { let targetRayPose = event.frame.getPose( event.inputSource.targetRaySpace, myRefSpace, ); if (targetRayPose) { let hit = myHitTest(targetRayPose.transform); if (hit) { /* handle the hit */ } }});Spezifikationen
| Specification |
|---|
| WebXR Device API> # xrinputsourceevent-interface> |