QSceneLoader Class
class Qt3DRender::QSceneLoader既存のシーンをロードする機能を提供します。もっと見る...
Header: | #include <QSceneLoader> |
CMake: | find_package(Qt6 REQUIRED COMPONENTS 3drender) target_link_libraries(mytarget PRIVATE Qt6::3drender) |
qmake: | QT += 3drender |
In QML: | SceneLoader |
Inherits: | Qt3DCore::QComponent |
Status: | Deprecated |
- 継承メンバを含む、全メンバ一覧
- QSceneLoader はInput/Output and 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 はシーンファイルのロード中にエラーが発生しました。 |
プロパティ Documentation
source : QUrl
ロードするソースのURLを保持します。
アクセス関数
QUrl | source() const |
void | setSource(const QUrl &arg) |
通知シグナル
void | sourceChanged(const QUrl &source) |
[read-only]
status : const Status
シーンロードのステータスを保持します。
- SceneLoaderなし
- SceneLoaderロード中
- SceneLoader準備完了
- 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 を参照してください。
ここに含まれる文書の著作権は、それぞれの所有者に帰属します。 本書で提供されるドキュメントは、Free Software Foundation が発行したGNU Free Documentation License version 1.3に基づいてライセンスされています。 Qtおよびそれぞれのロゴは、フィンランドおよびその他の国におけるThe Qt Company Ltd.の 商標です。その他すべての商標は、それぞれの所有者に帰属します。