QSceneLoader Class

class Qt3DRender::QSceneLoader

既存のシーンをロードする機能を提供します。もっと見る...

ヘッダー #include <QSceneLoader>
CMake.Sceneをロードする 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::QGeometryRendererQt3DCore::QTransformQt3DRender::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 : const Status

シーンのロード状態を保持します。

アクセス関数:

Qt3DRender::QSceneLoader::Status status() const

通知シグナル:

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

entityName に一致する objectName を持つ、ロードされたエンティティのcomponentType に一致するコンポーネントを返します。 エンティティに一致するコンポーネントが複数ある場合は、エンティティのコンポーネントリストで最初に一致したものが返されます。一致するコンポーネントがない場合は、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 を参照してください。

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