Object3D QML Type

Abstrakter Basistyp für alle 3D-Knoten und Ressourcen. Mehr...

Eigenschaften

Detaillierte Beschreibung

Object3D ist die Basisklasse für alle Qt Quick 3D Typen. Dazu gehören:

  • Räumliche Typen, die Objekte in der 3D-Szene darstellen; diese haben normalerweise eine Position und/oder eine Richtung. Zum Beispiel Model, Camera oder Light. Solche Typen erben von Node, das wiederum von Object3D erbt.
  • Ressourcentypen, die selbst kein Objekt in der 3D-Welt darstellen, sondern eher als Komponenten für Node Unterklassen dienen und Daten irgendeiner Art bereitstellen. Dazu gehören u. a. Material, Geometry und Texture.

Zusätzlich zu den oben genannten Typen kann Object3D auch als Elternteil für Qt Quick itemssowie für beliebige QObject Instanzen dienen. Weitere Informationen zum Hinzufügen von 2D-Elementen zur 3D-Szene finden Sie unter Qt Quick 3D Szenen mit 2D-Inhalten.

Siehe auch Node.

Dokumentation der Eigenschaften

children : list<Object3D>

resources : list<Object>

Die Eigenschaft children enthält die Liste der visuellen Kinder dieses Objekts. Die Eigenschaft resources enthält nicht-visuelle Ressourcen, auf die Sie namentlich verweisen möchten.

Im Allgemeinen ist es nicht notwendig, auf diese Eigenschaften zu verweisen, wenn Sie untergeordnete Objekte oder Ressourcen hinzufügen, da die Standardeigenschaft data untergeordnete Objekte automatisch den Eigenschaften children und resources zuweist. Siehe die QtQuick3D::Object3D::data Dokumentation für Details.

Hinweis: QtQuick3D::Object3D::resources gibt trotz des Namens keine Liste von 3D-Ressourcen zurück. Der Name kommt von der Semantik von QQuickItem. 3D-Ressourcen sind Unterklassen von QQuickObjec3D und werden daher in der Liste von QtQuick3D::Objec3D::children zurückgegeben.


data : list<Object> [default]

Die Eigenschaft data erlaubt es Ihnen, Object3D Kinder und Ressourcen in einem Objekt frei zu mischen. Wenn Sie ein Object3D der Datenliste zuweisen, wird es zu einem Kind, und wenn Sie einen anderen Objekttyp zuweisen, wird es als Ressource hinzugefügt.

Sie können also schreiben:

anstelle von:

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

Im Allgemeinen sollte es nicht notwendig sein, auf die Eigenschaft data zu verweisen, da sie die Standardeigenschaft für Object3D ist und somit alle untergeordneten Objekte automatisch dieser Eigenschaft zugewiesen werden.


parent : Object3D

Diese Eigenschaft enthält das übergeordnete Objekt von Object3D in einer 3D-Szene.

Hinweis: Das übergeordnete Objekt von Object3D muss nicht unbedingt mit dem übergeordneten Objekt identisch sein. Dies ist notwendig, weil das übergeordnete Objekt ein Element sein kann, das nicht vom Typ Object3D ist, z. B. das Stammobjekt in einer Szene.


state : string

Diese Eigenschaft enthält den Namen des aktuellen Zustands des Objekts.

Wenn sich das Objekt in seinem Standardzustand befindet, d. h. kein expliziter Zustand festgelegt wurde, enthält diese Eigenschaft eine leere Zeichenfolge. Ebenso können Sie ein Objekt in seinen Standardzustand zurückversetzen, indem Sie diese Eigenschaft auf eine leere Zeichenfolge setzen.

Siehe auch Qt Quick Zustände.


states : list<State>

Diese Eigenschaft enthält die Liste der möglichen Zustände für dieses Objekt. Um den Zustand dieses Objekts zu ändern, setzen Sie die Eigenschaft state auf einen dieser Zustände oder setzen Sie die Eigenschaft state auf eine leere Zeichenfolge, um das Objekt in seinen Standardzustand zurückzusetzen.

Diese Eigenschaft wird als eine Liste von State Objekten angegeben. Das folgende Beispiel zeigt einen QtQuick3D::Node mit den Zuständen "above_state" und "below_state":

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 }
        }
    ]
}

Siehe Qt Quick Zustände und Animation und Übergänge in Qt Quick für weitere Details zur Verwendung von Zuständen und Übergängen.

Hinweis: Diese Eigenschaft funktioniert genauso wie QtQuick::Item::states, ist aber notwendig, weil QtQuick3D::Object3D keine QtQuick::Item Unterklasse ist.

Siehe auch QtQuick3D::Object3D::transitions.


transitions : list<Transition>

Diese Eigenschaft enthält die Liste der Übergänge für dieses Objekt. Diese definieren die Übergänge, die auf das Objekt angewendet werden sollen, wenn es seine state ändert.

Diese Eigenschaft wird als eine Liste von Transition Objekten angegeben. Ein Beispiel:

import QtQuick
import QtQuick3D

Node {
    transitions: [
        Transition {
            //...
        },
        Transition {
            //...
        }
    ]
}

Weitere Einzelheiten zur Verwendung von Zuständen und Übergängen finden Sie unter Qt Quick Zustände und Animation und Übergänge in Qt Quick.

Hinweis: Diese Eigenschaft funktioniert genauso wie QtQuick::Item::transitions, ist aber notwendig, weil QtQuick3D::Object3D keine QtQuick::Item Unterklasse ist.

Siehe auch QtQuick3D::Object3D::states.


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