Qt で .glb を表示することも バッチリ可能です!

Qt で .glb を表示することも バッチリ可能です!

Qt で .glb を表示することも バッチリ可能です!
しかも Qt 公式が提供するモジュールを使えば、とても簡単に .glb を3Dで表示できます!


目次

✅ 方法:Qt 3D + QtQuick3D

Qt には .gltf / .glbネイティブ対応しているモジュールがあります:

主な2つの選択肢:

方法特徴Qtバージョン
Qt 3D柔軟・手動設定が多いQt 5.7〜 (保守中)
QtQuick 3D簡単・高機能・QMLベースQt 6.x(推奨)

🚀 Qt 6 + QtQuick3D:最も簡単な .glb 表示方法

🔧 必要条件

  • Qt 6.x(Qt 6.2 以降がベスト)
  • QtQuick3D モジュールが含まれていること

📄 QMLファイルの例(GLB表示)

import QtQuick
import QtQuick.Window
import QtQuick3D

Window {
    visible: true
    width: 800
    height: 600
    title: qsTr("GLB Viewer - QtQuick3D")

    View3D {
        anchors.fill: parent

        PerspectiveCamera {
            position: Qt.vector3d(0, 2, 5)
            lookAt: Qt.vector3d(0, 0, 0)
        }

        DirectionalLight {
            worldDirection: Qt.vector3d(-1, -1, -1)
        }

        Model {
            source: "model.glb" // GLBファイルのパス
            scale: Qt.vector3d(1, 1, 1)
        }
    }
}

model.glb をプロジェクトと同じフォルダに置けばOKです。


🧪 実行方法(Qt Creator)

  1. 新しい「Qt Quick アプリケーション」プロジェクトを作成
  2. .glb をプロジェクトに追加
  3. 上記のQMLに差し替え
  4. 実行すれば .glb モデルが回転可能な3Dビューで表示されます

✅ Qt 5.x(Qt 3Dの場合)

やや冗長ですが、Qt3DRender, Qt3DCore, Qt3DExtras を使えば表示可能です。

例:

// Qt3DでViewerを作る(C++で)
Qt3DCore::QEntity *rootEntity = new Qt3DCore::QEntity;

Qt3DRender::QSceneLoader *loader = new Qt3DRender::QSceneLoader(rootEntity);
loader->setSource(QUrl::fromLocalFile("model.glb"));

rootEntity->addComponent(loader);

🎯 まとめ:Qtで .glb を表示するには?

方法簡単さ対応コメント
QtQuick 3D⭐⭐⭐⭐⭐Qt 6.x一番簡単・推奨
Qt 3D (C++)⭐⭐⭐Qt 5.x / 6.x細かく制御したい方向け

🧠 補足

  • .glb 内のアニメーション、ライト、カメラも読み込めます
  • QtQuick3D は基本的に .glb or .gltf のドラッグ&ドロップでOK
  • もちろん .glb の動的読み込みも可能です(C++から Model::setSource()

✅ ご希望あれば

  • Qt + .glb 表示の プロジェクトテンプレート
  • C++ / QML 両方の スターターコード
  • .glb アニメーション再生サンプル

なども提供できます!
QML派ですか?それとも C++で書きたい派?

よかったらシェアしてね!
目次