Qt Quick 3D - XR フリーフォームテレポートの例
Qt Quick 3D XR で簡単なロコモーションを作成する方法を説明します。
概要
この例では、単純なフリーフォーム・テレポート・システム(非連続的な移動形態)を使用して、仮想環境内の場所に移動する方法を示します。
コントロール
このサンプルを実行するときは、以下のコントロールをナビゲーションに使用します。
アクション | コントロール |
---|---|
回転 | 右コントローラーの左右スティック |
照準とテレポート | 右コントローラーの前方スティック |
実装
すべてのロジックがこの型に含まれているため、他のプロジェクトでFreeformTeleporter
を簡単に再利用できます。
FreeformTeleporter { id: teleporter rayPicker: xrView cameraOrigin: xrOrigin camera: xrOrigin.camera beamHandle: xrRightController onDoTeleportation: (cameraOriginPosition)=> { xrOrigin.position = cameraOriginPosition } onDoRotation: (cameraOriginRotation, cameraOriginPosition)=> { xrOrigin.rotation = cameraOriginRotation xrOrigin.position = cameraOriginPosition } }
FreeformTeleporter コンポーネントには、次のプロパティを設定する必要があります:
var rayPicker
rayPicker
プロパティには、rayPick メソッドを実装する任意のオブジェクトを指定できます。この例では、XrView の組み込みレイ ピック メソッドを使用しています。
Node cameraOrigin
cameraOrigin
プロパティは、カメラのローカル参照空間の中心です。Xr では、カメラのようなトラッキングされたアイテムが相対的に配置される場所になります。したがって、XrOrigin ノードを cameraOrigin として使用します。
Node camera
camera
プロパティには、シーンのレンダリングに使用するカメラが含まれます。この例では、先ほど作成したトラッキングされたXrCamera を使用します。
Node beamHandle
beamHandle
プロパティは、テレポーテーション ビームの始点として使用されるノードです。この例では、beamHandle として右コントローラxrRightController を使用します。
Qt Quick 3D Xr の Locomotionも参照してください 。
©2024 The Qt Company Ltd. 本書に含まれるドキュメントの著作権は、それぞれの所有者に帰属します。 本書で提供されるドキュメントは、Free Software Foundation が発行したGNU Free Documentation License version 1.3に基づいてライセンスされています。 Qtおよびそれぞれのロゴは、フィンランドおよびその他の国におけるThe Qt Company Ltd.の 商標です。その他すべての商標は、それぞれの所有者に帰属します。