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 |
ステータス | 非推奨 |
- 継承されたメンバを含む、すべてのメンバの一覧
- QSceneLoaderは、Input/OutputおよびNetworkingに含まれます。
パブリック タイプ
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::UnknownComponent | 0 | 不明なコンポーネントタイプ |
Qt3DRender::QSceneLoader::GeometryRendererComponent | 1 | Qt3DRender::QGeometryRenderer コンポーネント |
Qt3DRender::QSceneLoader::TransformComponent | 2 | Qt3DCore::QTransform コンポーネント |
Qt3DRender::QSceneLoader::MaterialComponent | 3 | Qt3DRender::QMaterial コンポーネント |
Qt3DRender::QSceneLoader::LightComponent | 4 | Qt3DRender::QAbstractLight コンポーネント |
Qt3DRender::QSceneLoader::CameraLensComponent | 5 | Qt3DRender::QCameraLens コンポーネント |
enum QSceneLoader::Status
この列挙型は、ローディングの状態を識別する。
定数 | 値 | 説明 |
---|---|---|
Qt3DRender::QSceneLoader::None | 0 | Qt3DRender::QSceneLoader はまだ使用されていません。 |
Qt3DRender::QSceneLoader::Loading | 1 | Qt3DRender::QSceneLoader は現在シーンファイルをロード中です。 |
Qt3DRender::QSceneLoader::Ready | 2 | Qt3DRender::QSceneLoader は、シーンファイルのロードに成功しました。 |
Qt3DRender::QSceneLoader::Error | 3 | Qt3DRender::QSceneLoader は、シーンファイルのロード中にエラーが発生しました。 |
プロパティ ドキュメント
source : QUrl
ロードするソースの URL を保持します。
アクセス関数:
QUrl | source() const |
void | setSource(const QUrl &arg) |
通知シグナル:
void | sourceChanged(const QUrl &source) |
[read-only]
status : const Status
シーンのロード状態を保持します。
- SceneLoader.なし
- SceneLoaderロード中
- SceneLoader.Ready
- SceneLoaderエラー
アクセス関数:
Qt3DRender::QSceneLoader::Status | status() const |
通知シグナル:
void | statusChanged(Qt3DRender::QSceneLoader::Status 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.