このページでは

RuntimeLoader QML Type

実行時に3Dアセットをインポートします。詳細...

Import Statement: import QtQuick3D.AssetUtils
Since: Qt 6.2
Inherits:

Node

列挙型

プロパティ

方法

  • Object3D query(string arg) (since 6.12)
  • List<Object3D> queryAll(QueryFilter filter) (since 6.12)

詳細な説明

RuntimeLoader 型は、3D アセットをQtQuick3D の内部形式に変換することなく、実行時にソースから直接読み込む方法を提供します。

RuntimeLoaderは、.objファイルおよびglTFバージョン2.0のファイル(テキスト形式(.gltf)とバイナリ形式(.glb)の両方)をサポートしています。

警告: RuntimeLoader は 、アセットの内容をサンドボックス化したり検証したりしません。形式が不正なアセットや信頼できないアセットを読み込むと、セキュリティ上の問題が生じる可能性があります。詳細については、source を参照してください。

列挙に関するドキュメント

QueryFilter

クエリの対象となるオブジェクトの種類を指定します。

定数説明
RuntimeLoader.Texturesテクスチャオブジェクトをクエリする
RuntimeLoader.Materialsマテリアルオブジェクトをクエリする
RuntimeLoader.Nodesノードオブジェクトをクエリ
RuntimeLoader.Camerasカメラオブジェクトのクエリ
RuntimeLoader.Lightsライトオブジェクトのクエリ
RuntimeLoader.Modelsモデルオブジェクトのクエリ

queryAll()も参照してください 。

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

bounds : Bounds [read-only]

このプロパティは、インポートされたモデルを囲むバウンディングボリュームの範囲を表します。

注: 最初のレンダリングが行われるまでは、この 値が 利用できない場合があります。

errorString : string [read-only]

このプロパティには、最新の読み込み操作のステータスを示す、人間が読み取れる文字列が格納されています。

instancing : Instancing

このプロパティが設定されている場合、インポートされたモデルは通常通りレンダリングされません。その代わりに、インスタンステーブルで定義された数のインスタンスがレンダリングされます。

詳細については、「インスタンス化されたレンダリング」の概要ドキュメントを参照してください。

source : url

このプロパティには、3Dアセットを含むソースファイルの場所が格納されます。このプロパティを変更すると、現在のアセットがアンロードされ、指定されたURLからアセットの読み込みが試行されます。

読み込み操作の成否は、status で示されます。

警告: RuntimeLoader は 、アセットの内容をサンドボックス化したり検証したりしません。形式が不正なアセットや信頼できないアセットを読み込むと、セキュリティ上の問題が生じる可能性があります。アプリケーション開発者は、アプリケーションの一部ではないユーザー提供のコンテンツの読み込みを許可する前に、これらの点を慎重に検討する必要があります。

status : enumeration [read-only]

このプロパティは、最新の読み込み操作の状態を保持します。

定数説明
RuntimeLoader.EmptyURL が指定されていませんでした。
RuntimeLoader.Successロード操作は成功しました。
RuntimeLoader.Errorロード操作が失敗しました。errorString によって、人間が読み取れるエラーメッセージが提供されます。

メソッドのドキュメント

[since 6.12] Object3D query(string arg)

指定された名前のオブジェクトを返します。その名前のオブジェクトが存在しない場合は、null を返します。

arg パラメータは、クエリの対象となるオブジェクトの名前、またはクエリ文字列です。たとえば、「PaintMaterialX」という名前のオブジェクトをクエリするには、次のコードを使用します。

var object = runtimeLoader.query("PaintMaterial")

ソースアセットファイル内でオブジェクトに適切な名前が付けられていることを前提とすれば、上記のコードは期待通りに動作します。ただし、同じ名前のオブジェクトが複数存在する場合、クエリは指定された名前に一致する最初のオブジェクトを返します。特定のオブジェクトをクエリし、曖昧さを避けるには、完全なオブジェクトパスを使用してください。

var object = runtimeLoader.query("/House2/Wall001/Mirror/Material")

注: パスを使用する場合でも 、ソースアセットファイル内のオブジェクト名に基づいてパスが構築されるため、構造が不適切なアセットファイルでは、同じパスを持つオブジェクトが複数存在する可能性があります。

注:オブジェクト名は 、ソースアセットファイルで定義されている通りです。

このメソッドは Qt 6.12 で導入されました。

[since 6.12] List<Object3D> queryAll(QueryFilter filter)

指定されたフィルタに一致するすべてのオブジェクトのリストを返します。

filter パラメータは、クエリの対象となるオブジェクトの種類を指定します。たとえば、すべてのマテリアルをクエリするには、次のコードを使用します:

var materials = runtimeLoader.queryAll(RuntimeLoader.Materials)

上記のコードは、ソースアセットファイル内のすべてのマテリアルの一覧を返します。

このメソッドはQt 6.12で導入されました。

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