Sur cette page

Object3D QML Type

Type de base abstrait de tous les nœuds et ressources 3D. Plus d'informations...

Propriétés

Description détaillée

Object3D est la classe de base pour tous les types 3D de Qt Quick. Cela inclut

  • Les types spatiaux qui représentent des objets dans la scène 3D et qui ont normalement une position et/ou une direction. Par exemple, Model, Camera, ou Light. Ces types héritent de Node, qui hérite à son tour d'Object3D.
  • Les types de ressources qui ne représentent pas eux-mêmes un objet dans le monde 3D, mais servent plutôt de composants aux sous-classes de Node, en fournissant des données d'une certaine nature. Cela inclut, entre autres, Material, Geometry, et Texture.

Outre les types susmentionnés, Object3D peut également servir de parent à Qt Quick itemsainsi que des instances arbitraires de QObject. Pour plus d'informations sur l'ajout d'éléments 2D à la scène 3D, voir Qt Quick Scènes 3D avec contenu 2D.

Voir également Node.

Documentation sur les propriétés

children : list<Object3D>

resources : list<Object>

La propriété children contient la liste des enfants visuels de cet objet. La propriété resources contient les ressources non visuelles que vous souhaitez référencer par leur nom.

Il n'est généralement pas nécessaire de faire référence à ces propriétés lors de l'ajout d'objets ou de ressources enfants, car la propriété par défaut data attribue automatiquement les objets enfants aux propriétés children et resources, le cas échéant. Voir la documentation QtQuick3D::Object3D::data pour plus de détails.

Note : QtQuick3D::Object3D::resources ne renvoie pas une liste de ressources 3D malgré le nom. Le nom vient de la sémantique de QQuickItem. Les ressources 3D sont des sous-classes de QQuickObjec3D et seront donc retournées dans la liste de QtQuick3D::Objec3D::children.

data : list<Object> [default]

La propriété data vous permet de mélanger librement les enfants et les ressources Object3D dans un objet. Si vous affectez un Object3D à la liste de données, il devient un enfant et si vous affectez un autre type d'objet, il est ajouté en tant que ressource.

Vous pouvez donc écrire :

au lieu de :

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

Il n'est généralement pas nécessaire de faire référence à la propriété data, puisqu'il s'agit de la propriété par défaut de Object3D et que tous les objets enfants sont donc automatiquement affectés à cette propriété.

parent : Object3D

Cette propriété indique le parent du site Object3D dans une scène 3D.

Remarque : le parent d'un Object3D n'est pas nécessairement le même que son parent objet. Cela est nécessaire car le parent de l'objet peut être un élément qui n'est pas de type Object3D, par exemple l'objet racine d'une scène.

state : string

Cette propriété contient le nom de l'état actuel de l'objet.

Si l'élément est dans son état par défaut, c'est-à-dire qu'aucun état explicite n'a été défini, cette propriété contient une chaîne vide. De même, vous pouvez ramener un élément à son état par défaut en définissant cette propriété à une chaîne vide.

Voir également Qt Quick States.

states : list<State>

Cette propriété contient la liste des états possibles de cet objet. Pour modifier l'état de cet objet, attribuez à la propriété state l'un de ces états ou attribuez à la propriété state la valeur d'une chaîne vide pour rétablir l'état par défaut de l'objet.

Cette propriété est spécifiée sous la forme d'une liste d'objets State. Par exemple, voici un QtQuick3D::Node avec les états "above_state" et "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 }
        }
    ]
}

Voir Qt Quick States et Animation and Transitions dans Qt Quick pour plus de détails sur l'utilisation des états et des transitions.

Note : Cette propriété fonctionne de la même manière que QtQuick::Item::states mais est nécessaire car QtQuick3D::Object3D n'est pas une sous-classe de QtQuick::Item.

Voir aussi QtQuick3D::Object3D::transitions.

transitions : list<Transition>

Cette propriété contient la liste des transitions pour cet objet. Celles-ci définissent les transitions à appliquer à l'objet chaque fois qu'il change de state.

Cette propriété est spécifiée sous la forme d'une liste d'objets Transition. Par exemple, cette propriété est spécifiée sous la forme d'une liste d'objets :

import QtQuick
import QtQuick3D

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

Voir Qt Quick States and Animation et Transitions in Qt Quick pour plus de détails sur l'utilisation des états et des transitions.

Remarque : cette propriété fonctionne de la même manière que QtQuick::Item::transitions, mais elle est nécessaire car QtQuick3D::Object3D n'est pas une sous-classe de QtQuick::Item.

Voir aussi 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.