Тип QML Object3D
Абстрактный базовый тип всех 3D узлов и ресурсов. Подробнее...
| Оператор импорта: | import QtQuick3D . |
| Создаёт: | QQuick3DObject |
| Наследует от: | |
| Наследуется: | Эффект, Геометрия, Материал, Узел, Среда сцены, Текстура и Данные текстуры |
Свойства
- children : список<Object3D>
- data : список<Объект>
- parent : Object3D
- resources : список<Объект>
- состояние : строка
- states : список<Состояние>
- переходы : список<Переход>
Подробное описание
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, и все дочерние объекты автоматически назначаются этому свойству.
parent : 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.0/qml-qtquick3d-object3d.html