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

パブリックタイプ

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::QMeshQt3DRender::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 はシーンファイルのロード中にエラーが発生しました。

プロパティ Documentation

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 を参照してください。

ここに含まれる文書の著作権は、それぞれの所有者に帰属します 本書で提供されるドキュメントは、Free Software Foundation が発行したGNU Free Documentation License version 1.3に基づいてライセンスされています。 Qtおよびそれぞれのロゴは、フィンランドおよびその他の国におけるThe Qt Company Ltd.の 商標です。その他すべての商標は、それぞれの所有者に帰属します。