Object3D QML Type (Uncreatable)
すべての3Dノードおよびリソースの抽象基底型。詳細...
注:これは作成不可能な型です。QML ではインスタンス化できません。
プロパティ
- children : list<Object3D>
- data : list<Object>
- parent : Object3D
- resources : list<Object>
- state : string
- states : list<State>
- transitions : list<Transition>
詳細な説明
Object3Dは、Qt Quick のすべての3D型の基底クラスです。これには以下が含まれます:
- 3Dシーン内のオブジェクトを表す空間型。これらは通常、位置および/または方向を持ちます。例として、Model 、Camera 、またはLight などが挙げられます。これらの型はNode を継承しており、 はObject3Dを継承しています。
- 3D ワールド内のオブジェクトそのものを表すのではなく、Node のサブクラスのコンポーネントとして機能し、何らかのデータを提供するリソース型です。これには、Material 、Geometry 、Texture などが含まれます。
上記の型に加え、Object3Dは Qt Quick itemsの親クラスとして機能するほか、任意のQObject インスタンスの親としても機能します。3Dシーンに2Dアイテムを追加する方法の詳細については、「Qt Quick 3Dシーンへの2Dコンテンツの追加」を参照してください。
「Node」も参照してください 。
プロパティのドキュメント
children プロパティには、このオブジェクトの視覚的な子要素のリストが含まれます。resources プロパティには、名前で参照したい非視覚的なリソースが含まれます。
子オブジェクトやリソースを追加する際、通常はこれらのプロパティを参照する必要はありません。デフォルトのdata プロパティが、子オブジェクトをchildren およびresources プロパティに適切に自動的に割り当てるためです。詳細については、QtQuick3D::Object3D::data のドキュメントを参照してください。
注:QtQuick3D ::Object3D::resources は、その名前とは裏腹に、3D リソースのリストを返すものではありません。 この名前は、QQuickItem のセマンティクスに由来しています。3DリソースはQQuickObject3Dのサブクラスであるため、QtQuick3D::Object3D::childrenのリストとして返されます。
data : list<Object> [default]
data プロパティを使用すると、Object3D の子要素とリソースをオブジェクト内で自由に組み合わせることができます。Object3D を data リストに割り当てると、それは子要素となり、その他のオブジェクト型を割り当てた場合はリソースとして追加されます。
したがって、次のように記述できます:
Object3D {
Node {}
DirectionalLight {}
Timer {}
}次のように記述できます:
Item {
children: [
Node {},
DirectionalLight {}
]
resources: [
Timer {}
]
}通常、data プロパティを明示的に参照する必要はありません。これはObject3D のデフォルトプロパティであるため、すべての子オブジェクトが自動的にこのプロパティに割り当てられるからです。
parent : Object3D
このプロパティは、3Dシーン内のObject3D の親を保持します。
注: Object3D の親は 、必ずしもそのオブジェクトの親と同じとは限りません。これは、オブジェクトの親がObject3D 型ではないアイテム(たとえば、シーンのルートオブジェクトなど)である可能性があるため、必要となります。
state : string
このプロパティには、オブジェクトの現在の状態の名前が格納されます。
アイテムがデフォルトの状態、つまり明示的な状態が設定されていない場合、このプロパティには空の文字列が格納されます。同様に、このプロパティを空の文字列に設定することで、アイテムをデフォルトの状態に戻すことができます。
states : list<State>
このプロパティには、このオブジェクトが取り得る状態のリストが格納されています。このオブジェクトの状態を変更するには、state プロパティをこれらの状態のいずれかに設定するか、state プロパティを空の文字列に設定してオブジェクトをデフォルトの状態に戻します。
このプロパティは、State オブジェクトのリストとして指定されます。たとえば、以下は「above_state」および「below_state」という状態を持つ QtQuick3D::Node です。
import QtQuick
import QtQuick3D
Node {
id: root
y: 0
states: [
State {
name: "above_state"
PropertyChanges { target: root; y: 100 }
},
State {
name: "below_state"
PropertyChanges { target: root; y: -100 }
}
]
}状態および遷移の使用に関する詳細については、『Qt Quick 』の「状態」および『 Qt Quick 』の「アニメーションと遷移」を参照してください。
注:この プロパティは QtQuick::Item::states と同様に機能しますが、QtQuick3D::Object3D は QtQuick::Item のサブクラスではないため、このプロパティが必要となります。
QtQuick3D::Object3D::transitionsも参照してください 。
transitions : list<Transition>
このプロパティには、このオブジェクトの遷移のリストが格納されます。これらは、オブジェクトのstate が変更されるたびに、そのオブジェクトに適用される遷移を定義します。
このプロパティは、Transition オブジェクトのリストとして指定されます。例:
import QtQuick
import QtQuick3D
Node {
transitions: [
Transition {
//...
},
Transition {
//...
}
]
}状態と 遷移の使用方法の詳細については、『Qt Quick』の「Qt Quick 状態 およびアニメーションと遷移」を参照してください。
注:この プロパティは QtQuick::Item::transitions と同様に機能しますが、QtQuick3D::Object3D は QtQuick::Item のサブクラスではないため、このプロパティが必要となります。
「QtQuick3D::Object3D::states」も参照してください 。
© 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.