Auf dieser Seite

Object3D QML Type (Uncreatable)

Abstrakter Basistyp aller 3D-Knoten und -Ressourcen. Mehr...

Hinweis: Dies ist ein nicht erstellbarer Typ. Er kann in QML nicht instanziiert werden.

Eigenschaften

Ausführliche 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 verfügen in der Regel über eine Position und/oder eine Richtung. Beispiele hierfür sind „ 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 als Komponenten für Unterklassen von ` Node ` dienen und Daten bestimmter Art bereitstellen. Dazu gehören unter anderem ` Material`, ` Geometry` und ` Texture`.

Zusätzlich zu den oben genannten Typen kann `Object3D` auch als übergeordnete Klasse 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 zu den Eigenschaften

children : list<Object3D>

resources : list<Object>

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

Im Allgemeinen ist es nicht erforderlich, beim Hinzufügen von untergeordneten Objekten oder Ressourcen auf diese Eigenschaften Bezug zu nehmen, da die Eigenschaft „ data “ standardmäßig untergeordnete Objekte automatisch den Eigenschaften „ children “ und „ resources “ entsprechend zuordnet. Weitere Informationen finden Sie in der Dokumentation zu „ QtQuick3D::Object3D::data “.

Hinweis: QtQuick3D ::Object3D::resources gibt trotz des Namens keine Liste von 3D-Ressourcen zurück. Der Name leitet sich aus der Semantik von „ QQuickItem “ ab. 3D-Ressourcen sind Unterklassen von „QQuickObject3D“ und werden daher in der Liste von „QtQuick3D::Object3D::children“ zurückgegeben.

data : list<Object> [default]

Die Eigenschaft „data“ ermöglicht es Ihnen, „ Object3D “-Unterelemente und Ressourcen in einem Objekt frei zu mischen. Wenn Sie der Datenliste ein „ Object3D “-Objekt zuweisen, wird dieses zu einem Unterelement; wenn Sie einen beliebigen anderen Objekttyp zuweisen, wird dieser als Ressource hinzugefügt.

Sie können also schreiben:

anstelle von:

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

Es sollte im Allgemeinen nicht notwendig sein, auf die Eigenschaft „ data “ Bezug zu nehmen, da es sich um die Standardeigenschaft für „ Object3D “ handelt und somit alle untergeordneten Objekte automatisch dieser Eigenschaft zugewiesen werden.

parent : Object3D

Diese Eigenschaft enthält das übergeordnete Element des „ Object3D “ in einer 3D-Szene.

Hinweis: Das übergeordnete Elementeines „ Object3D “ muss nicht unbedingt mit seinem Objekt-Elternelement übereinstimmen. Dies ist notwendig, da das Objekt-Elternelement ein Element sein kann, das nicht vom Typ „ Object3D “ ist, beispielsweise das Stammobjekt in einer Szene.

state : string

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

Befindet sich das Element in seinem Standardzustand, d. h., es wurde kein expliziter Zustand festgelegt, enthält diese Eigenschaft eine leere Zeichenkette. Ebenso können Sie ein Element in seinen Standardzustand zurücksetzen, indem Sie diese Eigenschaft auf eine leere Zeichenkette 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 Zeichenkette, um das Objekt in seinen Standardzustand zurückzusetzen.

Diese Eigenschaft wird als Liste von „ State “-Objekten angegeben. Nachfolgend ist beispielsweise ein `QtQuick3D::Node` mit den Zuständen „above_state“ und „below_state“ dargestellt:

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

Weitere Informationen zur Verwendung von Zuständen und Übergängen finden Sie unter „Qt Quick -Zustände “ sowie „Animation und Übergänge in Qt Quick “.

Hinweis: Diese Eigenschaft funktioniert genauso wie QtQuick::Item::states, ist jedoch erforderlich, da QtQuick3D::Object3D keine Unterklasse von QtQuick::Item 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, sobald sich dessen „ state “ ändert.

Diese Eigenschaft wird als Liste von „ Transition “-Objekten angegeben. Beispiel:

import QtQuick
import QtQuick3D

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

Weitere Informationen zur Verwendung von Zuständen und Übergängen finden Sie unter „Qt Quick -Zustände“ sowie „Animation und Übergänge“ unter Qt Quick.

Hinweis: Diese Eigenschaft funktioniert genauso wie QtQuick::Item::transitions, ist jedoch erforderlich, da QtQuick3D::Object3D keine Unterklasse von QtQuick::Item ist.

Siehe auch 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.