Qt Quick 3D - XR の簡単な例

Qt Quick 3D XR を使って簡単な VR シーンをセットアップする例です。

この例では、Qt Quick 3D Xr の基本的な機能の概要を説明します。

XR アプリケーションを書くときの主な違いは、main.qml のルートアイテムがView3D を持つ Window ではなくXrView であることです:

import QtQuick3D
import QtQuick3D.Xr

XrView {
    id: xrView
    XrErrorDialog { id: err }
    onInitializeFailed: (errorString) => err.run("XRView", errorString)
    referenceSpace: XrView.ReferenceSpaceLocalFloor

XrView View3Dこの例では、デスクトップPCからストリーミングするときにVRヘッドセットの初期化エラーが発生した場合にエラーダイアログを表示するXrErrorDialog を追加します。また、このアプリケーションの基準フレームは、ユーザーがいる部屋の床から測定されることを指定します。つまり、床はy = 0 の位置になります。

参照フレームの原点はXrOrigin で定義されます:

    xrOrigin: theOrigin
    XrOrigin {
        id: theOrigin

        XrController {
            controller: XrController.ControllerLeft
            poseSpace: XrController.AimPose
            CubeModel { color: "blue" }
        }

        XrController {
            controller: XrController.ControllerRight
            poseSpace: XrController.AimPose
            CubeModel { color: "red" }
        }
    }

この例では、2つのXrController アイテムを追加します。これらはユーザーの手の位置と向きを追跡します。XrControllerNode なので、どの子も自動的に手の動きに追従します。この場合、コントローラの位置を視覚化するために、立方体の単純なモデルを使用します。

main.qmlの残りは通常のQt Quickの3Dシーンです。

サンプルプロジェクト @ code.qt.io

©2024 The Qt Company Ltd. ここに含まれるドキュメントの著作権は、それぞれの所有者に帰属します。 本書で提供されるドキュメントは、Free Software Foundation が発行したGNU Free Documentation License version 1.3に基づいてライセンスされています。 Qtおよびそれぞれのロゴは、フィンランドおよびその他の国におけるThe Qt Company Ltd.の 商標です。その他すべての商標は、それぞれの所有者に帰属します。