Qt Quick 3D - Beispiel für freie Teleportation in XR
Zeigt, wie man einfache Fortbewegung in „ Qt Quick 3D “ (XR) implementiert.

Übersicht
Dieses Beispiel zeigt, wie man sich mithilfe eines einfachen Freeform-Teleportationssystems – einer nicht-kontinuierlichen Bewegungsform – an Orte in der virtuellen Umgebung bewegen kann.
Steuerung
Verwenden Sie zur Navigation den Daumenstick am rechten Controller:
- Drücke den Stick nach vorne, um zu zielen, und lasse ihn los, um dich zu teleportieren.
- Bewegen Sie den Stick seitwärts, um zu drehen.
Implementierung
Die Teleportationslogik ist in der Komponente „ FreeformTeleporter “ implementiert.
FreeformTeleporter {
id: teleporter
view: xrView
originNode: xrOrigin
cameraNode: xrOrigin.camera
beamHandle: xrRightController
rotationTriggerValue: xrRightController.xValue
teleportTriggerValue: xrRightController.yValue
onDoTeleportation: (cameraOriginPosition)=> {
xrOrigin.position = cameraOriginPosition
}
onDoRotation: (cameraOriginRotation, cameraOriginPosition)=> {
xrOrigin.rotation = cameraOriginRotation
xrOrigin.position = cameraOriginPosition
}
}Die „FreeformTeleporter“-Komponente verfügt über die folgenden Eigenschaften, die festgelegt werden müssen:
QtObject xrViewDie Eigenschaft „ xrView “ ermöglicht den Zugriff auf die in „ XrView “ integrierte Ray-Picking-Funktion. Sie können jedes Objekt verwenden, das die Methode „ rayPick “ implementiert. Beispielsweise kann ein „ View3D “ für die Prototypenentwicklung nützlich sein.
Node originNodeDie Eigenschaft „ originNode “ gibt den Knoten an, den der Freeform-Teleporter manipulieren soll. In XR erfolgt die künstliche Fortbewegung durch die Bewegung des XrOrigin. Wir verwenden daher den xrOrigin unseres XrView als originNode.
Node cameraNodeDie Eigenschaft „ cameraNode “ gibt die Position der Kamera an. Bei Drehungen definiert sie den Drehpunkt. Beim Teleportieren definiert sie die Position, die über den ausgewählten Ort gesetzt wird. In diesem Beispiel verwenden wir den zuvor erstellten, getrackten „ XrCamera “.
Hinweis: In XR definiert die „ XrOrigin “ die Beziehung zwischen der Szene und dem Referenzraum des Benutzers. Dieser Referenzraum ist in der Regel am physischen Raum um den Benutzer herum verankert. Eine Änderung der Position des „ XrOrigin “ verändert die Art und Weise, wie physische Orte auf Szenenkoordinaten abgebildet werden. Der „ XrCamera “ verfolgt die Position des Kopfes des Benutzers. Wenn sich der Benutzer physisch bewegt, ändern sich Position und Ausrichtung des „ XrCamera “ relativ zum „ XrOrigin “.
Node beamHandleDie Eigenschaft „ beamHandle “ ist der Knoten, der als Startpunkt des Teleportationsstrahls verwendet wird. In diesem Beispiel verwenden wir den rechten Controller als „beamHandle“.
Siehe auch „Fortbewegung“in „ Qt Quick 3D Xr“.
© 2026 The Qt Company Ltd. Documentation contributions included herein are the copyrights of their respective owners. The documentation provided herein is licensed under the terms of the GNU Free Documentation License version 1.3 as published by the Free Software Foundation. Qt and respective logos are trademarks of The Qt Company Ltd. in Finland and/or other countries worldwide. All other trademarks are property of their respective owners.