Object3D QML Type

すべての3Dノードとリソースの抽象的な基本型。詳細...

プロパティ

詳細説明

Object3D はすべての Qt Quick 3D タイプの基本クラスです。これには以下が含まれます:

  • 3Dシーン内のオブジェクトを表す空間型は、通常、位置や方向を持ちます。Model Camera Lightこのような型はNode を継承し、 は Object3D を継承します。
  • リソース型は、それ自体が3D世界のオブジェクトを表すのではなく、Node のサブクラスのコンポーネントとして機能し、何らかのデータを提供します。これには、MaterialGeometryTexture などがあります。

上記のタイプに加え、Object3D はQt Quick items や任意のQObject インスタンスの親としても機能します。3D シーンに 2D アイテムを追加する方法については、Qt Quick 3D Scenes with 2D Content を参照してください。

Nodeも参照してください

プロパティの説明

children : list<Object3D>

resources : list<Object>

children プロパティには、このオブジェクトの視覚的な子のリストが含まれます。resources プロパティには、名前で参照したい非ビジュアルリソースが含まれます。

通常、子オブジェクトやリソースを追加する際にこれらのプロパティを参照する必要はありません。なぜなら、デフォルトのdata プロパティは、子オブジェクトを自動的にchildrenresources プロパティに適切に割り当てるからです。詳しくは、QtQuick3D::Object3D::data のドキュメントを参照してください。

注意: QtQuick3D::Object3D::resources は、名前に反して 3D リソースのリストを返しません。QQuickItem3DリソースはQQuickObjec3Dのサブクラスなので、QtQuick3D::Objec3D::childrenのリストで返されます。


data : list<Object> [default]

data プロパティは、Object3D チルドレンとリソースをオブジェクトの中に自由に混在させることができます。データリストにObject3D を代入すると、それは子になり、他のオブジェクトタイプを代入すると、それはリソースとして追加されます。

ですから、次のように書くことができます:

と書くことができます:

Item {
    children: [
        Node {},
        DirectionalLight {}
    ]
    resources: [
        Timer {}
    ]
}

data プロパティは、Object3D のデフォルト・プロパティであるため、すべての子オブジェクトは自動的にこのプロパティに割り当てられるので、一般的には参照する必要はないはずです。


parent : Object3D

このプロパティは、3Dシーン内のObject3D の親を保持します。

注意: Object3D の親は、必ずしもオブジェクトの親と同じとは限りません。これは、オブジェクトの親が、Object3D 型でないアイテム、例えばシーンのルートオブジェクトである可能性があるため必要である。


state : string

このプロパティは、オブジェクトの現在の状態の名前を保持する。

アイテムがデフォルト状態、つまり明示的な状態が設定されていない場合、このプロパティは空の文字列を保持する。同様に、このプロパティに空の文字列を設定することで、アイテムをデフォルトの状態に戻すことができます。

Qt Quick Statesも参照してください


states : list<State>

このプロパティは、このオブジェクトの可能な状態のリストを保持します。このオブジェクトの状態を変更するには、state プロパティをこれらの状態の 1 つに設定するか、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 の状態とアニメーションと遷移」を参照してください。

注意: このプロパティは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 のステートと アニメーションとトランジション」を参照してください。

Note: このプロパティは QtQuick::Item::transitions と同じ働きをしますが、QtQuick3D::Object3D は QtQuick::Item のサブクラスではないので必要です。

QtQuick3D::Object3D::statesも参照してください


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