このページでは

Qt3DRender::QSceneLoader Class

class Qt3DRender::QSceneLoader

既存のシーンを読み込む機能を提供します。詳細...

ヘッダー: #include <qsceneloader.h>
CMake: find_package(Qt6 REQUIRED COMPONENTS 3drender)
target_link_libraries(mytarget PRIVATE Qt6::3drender)
qmake: QT += 3drender
QML内: SceneLoader
継承元: Qt3DCore::QComponent
ステータス: 非推奨

このクラスは非推奨です。新しいコードでの使用は強く推奨しません。

パブリック型

enum ComponentType { UnknownComponent, GeometryRendererComponent, TransformComponent, MaterialComponent, LightComponent, CameraLensComponent }
enum Status { None, Loading, Ready, Error }

プロパティ

パブリック関数

QSceneLoader(Qt3DCore::QNode *parent = nullptr)
Qt3DCore::QComponent *component(const QString &entityName, Qt3DRender::QSceneLoader::ComponentType componentType) const
Qt3DCore::QEntity *entity(const QString &entityName) const
QStringList entityNames() const
QUrl source() const
Qt3DRender::QSceneLoader::Status status() const

パブリックスロット

void setSource(const QUrl &arg)

シグナル

void sourceChanged(const QUrl &source)
void statusChanged(Qt3DRender::QSceneLoader::Status status)

詳細な説明

3D ソースファイルが指定されると、Qt3DRender::QSceneLoader はそのファイルを解析し、適切なQt3DRender::QGeometryRenderer 、Qt3DCore::QTransform 、Qt3DRender::QMaterial コンポーネントを持つQt3DCore::QEntity オブジェクトのツリーを構築しようとします。

ローダーは、モデルファイルのプロパティに基づいて、使用する最適なマテリアルを決定しようとします。カスタムマテリアルを使用したい場合は、ツリーを走査し、関連付けられているデフォルトのマテリアルを自分のマテリアルに置き換える必要があります。

その名前が示す通り、Qt3DRender::QSceneLoader はシーンのサブツリー全体を読み込みます。単一のジオメトリを読み込みたい場合は、代わりにQt3DRender::QMesh を使用してください。

Qt3DRender::QSceneLoader 内部的には、多種多様な3Dファイル形式をサポートするためにプラグインに依存しています。以下は、Qt3Dがサポートする形式の一覧です。

注:このコンポーネントを 複数のQt3DCore::QEntity インスタンス間で共有しないでください。未定義の挙動が生じる可能性があります。

「 Qt3DRender::QMesh 」および「Qt3DRender::QGeometryRenderer 」も参照してください 。

メンバ型のドキュメント

enum QSceneLoader::ComponentType

この列挙型は、コンポーネントの型を指定します。

定数値説明
Qt3DRender::QSceneLoader::UnknownComponent0不明なコンポーネントタイプ
Qt3DRender::QSceneLoader::GeometryRendererComponent1Qt3DRender::QGeometryRenderer コンポーネント
Qt3DRender::QSceneLoader::TransformComponent2Qt3DCore::QTransform コンポーネント
Qt3DRender::QSceneLoader::MaterialComponent3Qt3DRender::QMaterial コンポーネント
Qt3DRender::QSceneLoader::LightComponent4Qt3DRender::QAbstractLight コンポーネント
Qt3DRender::QSceneLoader::CameraLensComponent5Qt3DRender::QCameraLens コンポーネント

enum QSceneLoader::Status

この列挙型は、読み込みの状態を識別します

定数値説明
Qt3DRender::QSceneLoader::None0Qt3DRender::QSceneLoader はまだ使用されていません。
Qt3DRender::QSceneLoader::Loading1Qt3DRender::QSceneLoader は現在、シーンファイルをロード中です。
Qt3DRender::QSceneLoader::Ready2Qt3DRender::QSceneLoader はシーンファイルを正常に読み込みました。
Qt3DRender::QSceneLoader::Error3Qt3DRender::QSceneLoader は、シーンファイルの読み込み中にエラーが発生しました。

プロパティのドキュメント

source : QUrl

読み込むソースのURLを保持します。

アクセス関数:

QUrl source() const
void setSource(const QUrl &arg)

通知シグナル:

void sourceChanged(const QUrl &source)

[read-only] status : Status

シーンの読み込み状況を保持します。

  • SceneLoader.None
  • SceneLoader.Loading
  • SceneLoader.Ready
  • SceneLoader.Error

アクセス関数:

Qt3DRender::QSceneLoader::Status status() const

Notifierシグナル:

void statusChanged(Qt3DRender::QSceneLoader::Status status)

Qt3DRender::QSceneLoader::Statusも参照してください 。

メンバ関数のドキュメント

[explicit] QSceneLoader::QSceneLoader(Qt3DCore::QNode *parent = nullptr)

このコンストラクタは、指定されたparent を使用してインスタンスを作成します。

[invokable] Qt3DCore::QComponent *QSceneLoader::component(const QString &entityName, Qt3DRender::QSceneLoader::ComponentType componentType) const

componentType entityName に一致するオブジェクト名を持つ、読み込まれたエンティティのコンポーネントを返します。エンティティに一致するコンポーネントが複数存在する場合、そのエンティティのコンポーネントリスト内の最初の一致するコンポーネントが返されます。一致するものがない場合は、null ポインタが返されます。

注:この関数は 、メタオブジェクトシステムを介して、またはQMLから呼び出すことができます。Q_INVOKABLE を参照してください。

[invokable] Qt3DCore::QEntity *QSceneLoader::entity(const QString &entityName) const

entityName パラメータに一致するobjectName を持つ、読み込まれたエンティティを返します。同じ名前のエンティティが複数存在する場合、どのエンティティが返されるかは未定義ですが、常に同じエンティティが返されます。

注:この関数は 、メタオブジェクトシステムおよびQMLから呼び出すことができます。Q_INVOKABLE を参照してください。

[invokable] QStringList QSceneLoader::entityNames() const

読み込まれたエンティティのobjectNames のリストを返します。

注:この関数は 、メタオブジェクトシステムを介して、またはQMLから呼び出すことができます。Q_INVOKABLE を参照してください。

© 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.