Тип QML Object3D
Абстрактный базовый тип всех 3D узлов и ресурсов. Подробнее...
| Оператор импорта: | import QtQuick3D . |
| Создает: | QQuick3DObject |
| Наследует от: | |
| Наследуется: | Эффект, Геометрия, Элемент списка экземпляров, Диапазон экземпляров, Экземпляризация, Материал, Узел, Particle3D, Среда сцены, Текстура и Данные текстуры |
Свойства
- children : список<Object3D>
- data : список<Объект>
- родитель : Object3D
- ресурсы : список<Объект>
- состояние : строка
- состояния : список<Состояние>
- переходы : список<Переход>
Подробное описание
Object3D — это базовый класс для всех типов Qt Quick 3D. В него входят:
- Пространственные типы, представляющие объекты в 3D-сцене; обычно они имеют положение и/или направление. Например, Модель, Камера или Источник света. Такие типы наследуют от Узел, который, в свою очередь, наследует от Object3D.
- Типы ресурсов, которые сами по себе не представляют объект в 3D-мире, но служат компонентами для подклассов Узел, предоставляя данные определённого типа. Сюда входят, среди прочего, Материал, Геометрия и Текстура.
Помимо вышеперечисленных типов, Object3D также может служить родителем для элементов Qt Quick, а также произвольных экземпляров QObject. Дополнительную информацию об добавлении 2D-элементов в 3D-сцену см. в разделе Qt Quick 3D-сцены с 2D-содержимым.
См. также Узел.
Документация по свойствам
Свойство children содержит список визуальных дочерних элементов этого объекта. Свойство resources содержит невизуальные ресурсы, которые вы хотите ссылаться по имени.
В целом нет необходимости ссылаться на эти свойства при добавлении дочерних объектов или ресурсов, поскольку свойство по умолчанию data автоматически назначит дочерние объекты свойствам children и resources соответственно. Подробности см. в документации к QtQuick3D::Object3D::data.
Примечание: QtQuick3D::Object3D::resources не возвращает список 3D-ресурсов, несмотря на название. Название происходит от семантики QQuickItem. 3D-ресурсы являются подклассами QQuickObjec3D и, следовательно, будут возвращены в списке QtQuick3D::Objec3D::children.
[по умолчанию] data : список<Объект>
Свойство data позволяет свободно смешивать дочерние элементы Object3D и ресурсы в объекте. Если вы назначите Object3D в список data, он станет дочерним элементом, а если вы назначите любой другой тип объекта, он будет добавлен в качестве ресурса.
Таким образом, вы можете написать:
Object3D {
Node {}
DirectionalLight {}
Timer {}
} вместо:
Item {
children: [
Node {},
DirectionalLight {}
]
resources: [
Timer {}
]
} В целом не должно быть необходимости ссылаться на свойство data, так как это свойство по умолчанию для Object3D, и, следовательно, все дочерние объекты автоматически назначаются этому свойству.
родитель : Object3D
Это свойство содержит родительский элемент Object3D в 3D-сцене.
Примечание: Родительский элемент Object3D может не совпадать с родительским элементом объекта. Это необходимо, так как родительский элемент объекта может быть элементом, который не является типом Object3D, например, корневой объект в сцене.
состояние : строка
Это свойство содержит имя текущего состояния объекта.
Если элемент находится в своём состоянии по умолчанию, то есть явное состояние не было установлено, то это свойство содержит пустую строку. Аналогично, вы можете вернуть элемент в исходное состояние, установив это свойство в пустую строку.
См. также Состояния Qt Quick.
Это свойство содержит список возможных состояний для этого объекта. Чтобы изменить состояние этого объекта, установите свойство состояние на одно из этих состояний или установите свойство состояние в пустую строку, чтобы вернуть объект в исходное состояние.
Это свойство задаётся как список объектов Состояние. Например, ниже представлен QtQuick3D::Node со состояниями "above_state" и "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 }
}
]
} См. Состояния Qt Quick и Анимация и переходы в Qt Quick для получения дополнительной информации об использовании состояний и переходов.
Примечание: Это свойство работает так же, как QtQuick::Item::states, но необходимо, так как QtQuick3D::Object3D не является подклассом QtQuick::Item.
См. также QtQuick3D::Object3D::transitions.
Это свойство содержит список переходов для этого объекта. Они определяют переходы, которые будут применены к объекту всякий раз, когда он меняет своё состояние.
Это свойство задаётся как список объектов Переход. Например:
import QtQuick
import QtQuick3D
Node {
transitions: [
Transition {
//...
},
Transition {
//...
}
]
} См. Состояния Qt Quick и Анимация и переходы в Qt Quick для получения дополнительной информации об использовании состояний и переходов.
Примечание: Это свойство работает так же, как QtQuick::Item::transitions, но необходимо, так как QtQuick3D::Object3D не является подклассом QtQuick::Item.
См. также QtQuick3D::Object3D::states.
© The Qt Company Ltd
Licensed under the GNU Free Documentation License, Version 1.3.
https://doc.qt.io/qt-6.1/qml-qtquick3d-object3d.html