Movatterモバイル変換


[0]ホーム

URL:


  1. Web
  2. Web-APIs
  3. XRSession
  4. select

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

View in EnglishAlways switch to English

XRSession: select-Ereignis

Limited availability

This feature is not Baseline because it does not work in some of the most widely-used browsers.

Experimentell:Dies ist eineexperimentelle Technologie
Überprüfen Sie dieBrowser-Kompatibilitätstabelle sorgfältig vor der Verwendung auf produktiven Webseiten.

Sicherer Kontext: Diese Funktion ist nur insicheren Kontexten (HTTPS) in einigen oder allenunterstützenden Browsern verfügbar.

Das WebXR-select-Ereignis wird an eineXRSession gesendet, wenn eine der Eingabequellen der Sitzung eineprimäre Aktion abgeschlossen hat.

Dasbeforexrselect wird vor diesem Ereignis ausgelöst und kann verhindern, dass dieses Ereignis ausgelöst wird.

Syntax

Verwenden Sie den Ereignisnamen in Methoden wieaddEventListener(), oder setzen Sie eine Ereignishandler-Eigenschaft.

js
addEventListener("select", (event) => { })onselect = (event) => { }

Ereignistyp

EinXRInputSourceEvent. Erbt vonEvent.

Event XRInputSourceEvent

Ereigniseigenschaften

Zusätzlich zu den unten aufgeführten Eigenschaften sind Eigenschaften der übergeordneten SchnittstelleEvent verfügbar.

frameSchreibgeschützt

EinXRFrame-Objekt, das die benötigten Informationen über das Ereignis-Frame bereitstellt, während dem das Ereignis auftrat. Dieses Frame könnte in der Vergangenheit gerendert worden sein, statt ein aktuelles zu sein. Da es sich um einEreignis-Frame und nicht um einAnimations-Frame handelt, können SieXRFrame.getViewerPose() nicht darauf aufrufen; stattdessen verwenden SiegetPose().

inputSourceSchreibgeschützt

EinXRInputSource-Objekt, das angibt, welche Eingabequelle das Eingabeereignis generiert hat.

Beschreibung

Auslöser

Ausgelöst, wenn ein Benutzer Trigger oder Tasten drückt, ein Touchpad antippt, einen Befehl spricht oder eine erkennbare Geste ausführt, wenn er ein Video-Tracking-System oder einen Handcontroller mit einem Beschleunigungsmesser verwendet.

Anwendungsfälle

Dieselectstart- undselectend-Ereignisse informieren Sie darüber, wann Sie dem Benutzer möglicherweise etwas anzeigen möchten, das angibt, dass die primäre Aktion ausgeführt wird. Dies könnte das Zeichnen eines Controllers mit dem aktivierten Knopf in einer neuen Farbe sein oder das Zeigen des erfassten und bewegten Objekts, beginnend wennselectstart eintrifft und endend wennselectend empfangen wird.

Dasselect-Ereignis teilt Ihrem Code mit, dass der Benutzer eine Aktion abgeschlossen hat. Dies könnte so einfach sein wie das Werfen eines Objekts oder das Drücken des Abzugs einer Waffe in einem Spiel, oder so aufwendig wie das Platzieren eines gezogenen Objekts an einem neuen Ort.

Wenn Ihre primäre Aktion eine einfache Triggeraktion ist und Sie nichts animieren müssen, während der Trigger aktiviert ist, können Sie dieselectstart- undselectend-Ereignisse ignorieren und auf das Startereignis reagieren.

Beispiele

Das folgende Beispiel verwendetaddEventListener(), um einen Handler für dasselect-Ereignis einzurichten. Der Handler holt die Pose, die den Zielstrahl fürtracked-pointer-Eingaben darstellt, und sendet die Transformation der Pose an eine Funktion namensmyHandleSelectWithRay().

js
xrSession.addEventListener("select", (event) => {  if (event.inputSource.targetRayMode === "tracked-pointer") {    let targetRayPose = event.frame.getPose(      event.inputSource.targetRaySpace,      myRefSpace,    );    if (targetRayPose) {      myHandleSelectWithRay(targetRayPose.transform);    }  }});

Sie können auch einen Handler fürselect-Ereignisse einrichten, indem Sie dieonselect-Ereignishandlereigenschaft desXRSession-Objekts auf eine Funktion setzen, die das Ereignis behandelt:

js
xrSession.onselect = (event) => {  if (event.inputSource.targetRayMode === "tracked-pointer") {    let targetRayPose = event.frame.getPose(      event.inputSource.targetRaySpace,      myRefSpace,    );    if (targetRayPose) {      myHandleSelectWithRay(targetRayPose.transform);    }  }};

Spezifikationen

Specification
WebXR Device API
# eventdef-xrsession-select
WebXR Device API
# dom-xrsession-onselect

Browser-Kompatibilität

Siehe auch

Help improve MDN

Learn how to contribute Diese Seite wurde automatisch aus dem Englischen übersetzt.

[8]ページ先頭

©2009-2026 Movatter.jp