Model QML Type
3Dモデルデータを読み込みます。詳細...
| Import Statement: | import QtQuick3D |
| Inherits: | |
| Inherited By: |
プロパティ
- bakedLightmap : BakedLightmap
- bounds : Bounds
- castsReflections : bool
(since 6.4) - castsShadows : bool
- depthBias : real
- geometry : Geometry
- instanceRoot : QtQuick3D::Node
- instancing : QtQuick3D::Instancing
- instancingLodMax : real
- instancingLodMin : real
- inverseBindPoses : List<matrix4x4>
- levelOfDetailBias : real
(since 6.5) - materials : List<QtQuick3D::Material>
- morphTargets : List<QtQuick3D::MorphTarget>
- motionVectorEnabled : bool
(since 6.11) - motionVectorScale : real
(since 6.11) - pickable : bool
- receivesReflections : bool
- receivesShadows : bool
- skeleton : Skeleton
- skin : Skin
- source : url
- texelsPerUnit : real
(since 6.10) - usedInBakedLighting : bool
詳細説明
Modelアイテムは、メッシュをロードし、それにマテリアルを追加することで、そのシェーディング方法を変更できるようにします。モデルをレンダリング可能にするには、少なくともメッシュとマテリアルが必要です。
メッシュフォーマットとビルトインプリミティブ
モデルはスタティックメッシュをストレージから読み込むか、ビルトインプリミティブタイプの1つを読み込むことができます。使用されるメッシュフォーマットはエンジンにネイティブなランタイムフォーマットですが、アセットインポートツールBalsamを通じて追加フォーマットをサポートします。
ビルトイン プリミティブは、source プロパティをこれらの値のいずれかに設定することでロードできます:#Rectangle, #Sphere, #Cube, #Cylinder or #Cone 。
Model { source: "#Sphere" }
以下の表では、ビルトインメッシュの詳細を説明しています。
| 名前 | 説明 | 面数 |
|---|---|---|
| #コーン | 高さと直径が100 の円錐。底面は原点にあり、円錐はy方向に上を向いています。 | 78 |
| #立方体 | 原点を中心とし、x, y, z 方向に100 の長辺を持つ立方体。 | 12 |
| #円柱 | 原点を中心とし、100 高さと直径を持つ円柱。 | 316 |
| #長方形 | xy 平面に横たわる、原点を中心とした100 の幅と高さを持つ長方形。 | 2 |
| #球 | 原点を中心とした直径100 の球体。 | 4900 |
カスタムジオメトリ
静的メッシュを使用するだけでなく、custom geometry プロバイダを実装して、実行時にカスタム頂点データをモデルに提供することもできます。カスタムマテリアルを作成してモデルで使用する方法については、カスタムジオメトリの例を参照してください。
マテリアル
モデルは複数のサブメッシュで構成することができ、各サブメッシュは独自のマテリアルを持つことができます。サブメッシュは、materials のリストから、そのインデックスに対応するマテリアルを使用します。マテリアルの数がサブメッシュより少ない場合、リストの最後のマテリアルがそれ以降のサブメッシュに使用されます。これはサブメッシュの例で示されています。
モデルアイテムでは以下のマテリアルを使用できます:PrincipledMaterial DefaultMaterial およびCustomMaterial 。
ピッキング
ピッキングとは、ある開始位置からシーンを通してレイを送り、どのモデルがレイと交差するかを見つけるプロセスです。Qt Quick 3D では、レイは通常、タッチまたはマウス イベントから得られる 2D 座標を使用してビューから送信されます。モデルがレイに当たった場合、pickResult 、モデルへのハンドルとレイがモデルに当たった位置に関する情報が返されます。custom geometry を使用するモデルの場合、ピッキングはモデルのbounding volume に対してのみ行われるため、静的メッシュデータの場合よりも精度が落ちます。レイが複数のモデルを通過した場合、最も近いpickable モデルが選択されます。
モデルをpickable にするには、そのpickable プロパティをtrue に設定する必要があります。詳細については、Qt Quick 3D - ピッキングの例を参照してください。
プロパティのドキュメント
bakedLightmap : BakedLightmap
このプロパティが有効で有効なBakedLightmap オブジェクトに設定されると、モデルはライティングをベイクするときに生成されたライトマップを取得し、ライトマップは永続的に保存されます。レンダリング時、モデルは関連するライトマップをロードして使用します。デフォルト値はnullです。
注意: Modelに対して永続的に保存されるライトマップを生成することを意図している場合、Modelがライトマップされたシーンに参加するだけでなく、完全なライトマップがベイクされ保存されることを望んでいることを示すために、bakedLightmapとusedInBakedLighting の両方を設定する必要があります。
ライトマップをベイクする方法の詳細については、Lightmapper のドキュメントを参照してください。
このプロパティは、ベイク時とライトマップ使用時の両方に関係します。ベイクの実行と、生成されたデータを使用する後続の実行の間で、一貫した状態が不可欠です。例えば、ライトマップキーを変更すると、以前に生成されたデータをロードできなくなります。例外として、enabled を使用すると、ライトマップの使用を動的に切り替えることができます(ベイク実行時以外)。ただし、レンダリング結果はシーン内のLights'bakeMode 設定に依存することに注意してください。
usedInBakedLighting およびLightmapperも参照して ください。
bounds : Bounds [read-only]
モデルの境界は、モデルの周りのバウンディングボリュームの範囲を記述します。
注意: モデルを最初に読み込む必要がある場合、境界はすぐに利用できないかもしれません。
castsReflections : bool [since 6.4]
このプロパティをtrue に設定すると、モデルは反射プローブによってレンダリングされ、反射を見ることができます。
このプロパティは Qt 6.4 で導入されました。
castsShadows : bool
このプロパティがtrue の場合、このモデルのジオメトリはシャドウマップへのレンダリング時に使用され、ベイクド・ライティングでもシャドウが生成されます。
デフォルト値はtrue です。
depthBias : real
モデルの深度バイアスを保持します。奥行きバイアスは、オブジェクトをソートするときに、カメラからのオブジェクト距離に追加されます。これは、異なるフレームで異なる順序でレンダリングされる可能性のある、互いに近いオブジェクト間のレンダリング順序を強制するために使用できます。負の値はソート値をカメラに近づけ、正の値はカメラから遠ざけます。
geometry : Geometry
モデルのカスタムジオメトリを指定します。カスタムジオメトリを使用する場合、Model::source は空でなければなりません。
instanceRoot : QtQuick3D::Node
このプロパティは、インスタンスの座標系の原点を定義します。
詳細な説明については、概要ドキュメントを参照してください。
instancing およびInstancingも参照してください 。
instancing : QtQuick3D::Instancing
このプロパティが設定されている場合、モデルは通常通りレンダリングされません。代わりに、インスタンステーブルで定義された数のモデルのインスタンスがレンダリングされます。
Instancingも参照してください 。
instancingLodMax : real
このモデルのインスタンスが表示されるカメラからの最大距離を定義する。詳細レベルの実装に使用される。
instancingLodMin : real
このモデルのインスタンスが表示されるカメラからの最小距離を定義する。詳細レベルの実装に使用される。
inverseBindPoses : List<matrix4x4>
このプロパティには、スケルタルアニメーションに使用される逆バインドポーズ行列のリストが含まれます。各 inverseBindPose マトリックスは、skeleton の該当するJoint::index のグローバル変換の逆数を意味し、最初に使用されます。
注意: このプロパティは、Model::skeleton が有効な場合にのみ使用されます。
注意 :行列のいくつかが設定されていない場合、同一値が使用されます。
Joint::indexも参照のこと 。
levelOfDetailBias : real [since 6.5]
このプロパティは、自動詳細レベルメッシュが使用される前に、レンダリング時にモデルが必要とするサイズを変更します。生成された各詳細レベルメッシュには、各レベルが表示されるべき理想的なサイズ値が含まれており、これはレンダリングされたシーンがそのメッシュになる割合です。画面上に数ピクセルしか表示されないモデルは、正しく見えるために完全なジオメトリを必要としないので、この場合、低レベルの詳細メッシュが代わりに使用されます。この値は理想的な値への偏りであり、1.0 より小さい値は、より小さい詳細レベルに切り替える前に、さらに小さいレンダリングサイズを必要とします。値が1.0 より大きいと、より低い詳細レベルがより早く使用されるようになります。値を0.0 にすると、詳細レベルの使用を完全に無効にします。
デフォルト値は1.0
注: このプロパティは、Model のジオメトリに詳細レベルが含まれている場合にのみ効果があります。
このプロパティは Qt 6.5 で導入されました。
Camera::levelOfDetailBiasも参照してください 。
materials : List<QtQuick3D::Material>
このプロパティには、提供されたジオメトリのレンダリングに使用されるマテリアルのリストが含まれます。何かをレンダリングするには、少なくとも 1 つのマテリアルが必要です。通常は、ソース ジオメトリに含まれるサブメッシュごとに 1 つのマテリアルが必要です。
Qt Quick 3D - サブメッシュの例」も参照してください 。
morphTargets : List<QtQuick3D::MorphTarget>
このプロパティには、提供されたジオメトリをレンダリングするために使用されるMorphTargetのリストが含まれます。メッシュは、モーフターゲットの位置、法線、接線、バイノー マル、テクスチャ座標、および頂点カラーのうち、少なくとも 1 つのアトリビュートを持つ必要があります。
MorphTargetも参照してください 。
motionVectorEnabled : bool [default: true, since 6.11]
モデルがモーション・ベクター・パスに参加するかどうかを指定する。
このプロパティをtrue に設定すると、モデルはそのモーション情報をモーション・ベクトル・バッファに寄与します。これは、ピクセル単位のモーションデータに依存するテンポラル・アンチエイリアシング(TAA)やその他のエフェクトで使用されます。
false に設定すると、モデルはモーション・ベクトル生成から除外されます。
このプロパティは Qt 6.11 で導入されました。
Model::motionVectorScaleも参照してください 。
motionVectorScale : real [default: 1.0, since 6.11]
モデルの生成されたモーションベクトルに適用されるスケーリング係数を指定します。
1.0 の値はモデルの実際の動きを保持し、1.0 より大きい値はモーションベクトルを誇張し、1.0 より小さい値はモーションベクトルを縮小します。これは、スタイル化されたエフェクトや、モーション ベクター バッファに依存するエフェクトの視覚的な動作を微調整するのに便利です。
このプロパティは Qt 6.11 で導入されました。
Model::motionVectorEnabledも参照して ください。
pickable : bool
このプロパティは、モデルがピッキング可能かどうかを制御します。モデルをピッキング可能にするには、このプロパティをtrue に設定します。デフォルトでは、モデルはピッキングできません。
View3D::pickも参照してください 。
receivesReflections : bool
このプロパティがtrue に設定されている場合、モデルのマテリアルは反射プローブからの反射寄与を考慮します。モデルが同時に複数の反射プローブ内にある場合、最も近い反射プローブが考慮されます。
receivesShadows : bool
このプロパティがtrue に設定されている場合、モデルのマテリアルは、影を投影するライトからの影の寄与を考慮します。
注: このモデルでライトマッピングが有効になっている場合、Light::bakeMode が Light.BakeModeAll に設定された完全ベイクライトは、このプロパティの値に関係なく、常にモデル上に(ベイクされた)影を生成します。
デフォルト値はtrue です。
skeleton : Skeleton
モデルのスケルトンを含みます。スケルトンはinverseBindPoses と共にスキニングに使用されます。
注: モデルのメッシュには、ジョイントとウェイトの両方のアトリビュートが必要です。
注: このプロパティが設定されていると、スキニングアニメーションが有効になります。これは、Model が Model のグローバルトランスフォーメーションを無視して、Skeleton に基づいてトランスフォームされることを意味します。
Model::inverseBindPoses およびQt Quick 3D - 簡単なスキニングの例も参照してください 。
skin : Skin
モデルのスケルトンを含みます。スケルトンはスキニングに使用されます。
注: モデルのメッシュには、ジョイントとウェイトの両方のアトリビュートが必要です。
注: このプロパティが設定されていると、スキニング・アニメーションが有効になります。つまり、Model はSkin::joints に基づいてトランスフォームされ、Model のグローバル トランスフォームは無視されます。
Note: モデルがスケルトンとスキンの両方を持つ場合、スキンが使用されます。
以下も参照してください。 Qt Quick 3D - Simple Skinning Example.
source : url
このプロパティは、この Model のジオメトリを含むメッシュファイル、またはMesh format and built-in primitives で説明されている以下の組み込みプリミティブメッシュのいずれかを含むメッシュファイルの場所を定義します。
- "#矩形"
- "#Sphere"
- "#立方体"
- "#コーン"
- "#円柱"
texelsPerUnit : real [default: 0.0, since 6.10]
ゼロより大きい値は、ライトマップのベイク時に、この値がこの特定のモデルのLightmapper::texelsPerUnit 値をオーバーライドすることを意味します。
このプロパティは Qt 6.10 で導入されました。
Lightmapper::texelsPerUnitも参照してください 。
usedInBakedLighting : bool
このプロパティがtrue に設定されている場合、モデルはライトマップなどのベイクド・ライティングに影や間接光などの形で寄与します。この設定は、モデルのライトマップ生成の制御とは独立しており、bakedLightmap を使用します。
デフォルト値はfalse です。
注意: デフォルト値は false です。なぜなら、デザイナーや開発者は、オブジェクトがベイクド・ライティングに参加するのに適しているかどうかを、常にモデルごとに評価しなければならないからです。
警告 例えば、位置や回転などのプロパティが動的に変化するモデルは、ベイクド・ライティングに参加するのに適していません。
ライトマップをベイクする方法の詳細については、Lightmapper のドキュメントを参照してください。
このプロパティは、ライトマップをベイクするときにのみ関係します。その後、生成されたライトマップをレンダリング時に使用する場合には、何の効果もありません。
Light::bakeMode,bakedLightmap,Lightmapper,ライトマップとグローバルイルミネーションも参照してください 。
© 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.