Тип узла QML
Базовый компонент для объекта, существующего в 3D-сцене. Подробнее...
| Заявление об импорте: | import QtQuick3D . |
| Наследует: | |
| Наследуется от: | AxisHelper, Camera, Joint, Light, Loader3D, Model, Repeater3D и Skeleton |
Свойства
- TransformSpace : перечисление
- eulerRotation : vector3d
- forward : vector3d
- opacity : real
- pivot : vector3d
- position : vector3d
- right : vector3d
- rotation : quaternion
- scale : vector3d
- scenePosition : vector3d
- sceneRotation : vector3d
- sceneScale : vector3d
- sceneTransform : matrix4x4
- staticFlags : int
- up : vector3d
- visible : bool
- x : real
- y : real
- z : real
Методы
- vector3d mapDirectionFromNode(QtQuick3D::Node node, vector3d localDirection)
- vector3d mapDirectionFromScene(vector3d sceneDirection)
- vector3d mapDirectionToNode(QtQuick3D::Node node, vector3d localDirection)
- vector3d mapDirectionToScene(vector3d localDirection)
- vector3d mapPositionFromNode(QtQuick3D::Node node, vector3d localPosition)
- vector3d mapPositionFromScene(vector3d scenePosition)
- vector3d mapPositionToNode(QtQuick3D::Node node, vector3d localPosition)
- vector3d mapPositionToScene(vector3d localPosition)
- rotate(real degrees, vector3d axis, TransformSpace space)
Подробное описание
Тип Node служит базовым классом для других пространственных типов, таких как Model, Camera, Light. Эти объекты представляют сущность, существующую в 3D-сцене, благодаря наличию позиции и других свойств в 3D-мире. За исключением корневого узла(ов), все типы узлов преобразуются относительно своего родительского узла, то есть в локальных координатах. Во многом тип Node выполняет ту же функцию в сценах Qt Quick 3D, что и Item в сценах Qt Quick.
Помимо типов, производных от Node, также возможно родительство других типов узлам. Это включает в себя экземпляры QObject, где Node просто служит родительским объектом QObject, и элементы Qt Quick.
Обертывание других объектов с целью группирования их в компоненты или поддеревья может быть удобным способом, например, для анимации группы узлов в целом. Этот фрагмент показывает, как использовать Node для анимации камеры:
Node {
PerspectiveCamera {
position: Qt.vector3d(0, 0, -600)
}
SequentialAnimation on eulerRotation.y {
loops: Animation.Infinite
PropertyAnimation {
duration: 5000
from: 0
to: 360
}
}
} Node также необходимо использовать при создании сцены вне View3D, например, для целей динамической смены сцен или отображения одной и той же сцены на нескольких видах.
Node {
id: standAloneScene
DirectionalLight {}
Model {
source: "#Sphere"
materials: [ DefaultMaterial {} ]
}
PerspectiveCamera {
z: 600
}
}
View3D {
importScene: standAloneScene
} Документация свойств
TransformSpace : перечисление
Определяет отношение оси.
| Постоянная | Описание |
|---|---|
Node.LocalSpace |
Ось относится к локальной ориентации данного узла. |
Node.ParentSpace |
Ось относится к локальной ориентации родительского узла. |
Node.SceneSpace |
Ось относится к сцене. |
eulerRotation : vector3d
Это свойство содержит значения вращения по осям x, y и z. Эти значения хранятся как vector3d. Порядок вращения предполагается XYZ.
[только для чтения] forward : vector3d
Это свойство возвращает нормированный вектор направления «вперед» узла в пространстве сцены.
См. также up, right и mapDirectionToScene.
opacity : real
Это свойство содержит локальное значение непрозрачности узла. Поскольку объекты Node не обязательно видимы, это значение может не иметь никакого эффекта, но это значение наследуется всеми дочерними узлами Node, которые могут быть видимыми.
pivot : vector3d
Это свойство содержит значения поворота по осям x, y и z. Эти значения используются в качестве точек поворота при применении вращений к узлу.
position : vector3d
Это свойство содержит значение смещения позиции в локальном пространстве координат.
[только для чтения] right : vector3d
Это свойство возвращает нормированный вектор направления «вправо» узла в пространстве сцены.
См. также forward, up и mapDirectionToScene.
rotation : quaternion
Это свойство содержит значения вращения узла. Эти значения хранятся как кватернион.
scale : vector3d
Это свойство содержит значения масштаба по осям x, y и z.
[только для чтения] scenePosition : vector3d
Это свойство возвращает позицию узла в пространстве сцены.
Примечание: Это иногда также называется глобальной позицией. Но тогда в значении «глобальная в 3D-мире», а не «глобальная для экрана или рабочего стола» (что обычно является интерпретацией в других API Qt).
Примечание: позиция будет отображаться в той же ориентации, что и узел.
См. также mapPositionToScene.
[только для чтения] sceneRotation : vector3d
Это свойство возвращает вращение узла в пространстве сцены.
[только для чтения] sceneScale : vector3d
Это свойство возвращает масштаб узла в пространстве сцены.
[только для чтения] sceneTransform : matrix4x4
Это свойство возвращает глобальную матрицу преобразования для данного узла.
Примечание: возвращаемое значение будет в правой системе координат.
[с версии 5.15] staticFlags : int
Это свойство определяет флаги статического состояния, которые используются для оценки того, как узел рендерится. В настоящее время ничего не делает, но служит заглушкой для будущей реализации.
Это свойство было введено в Qt 5.15.
[только для чтения] up : vector3d
Это свойство возвращает нормированный вектор направления «вверх» узла в пространстве сцены.
См. также forward, right и mapDirectionToScene.
visible : bool
Если свойство имеет значение true, то узел (и его потомки) будут видимы.
x : real
Это свойство содержит значение x для перемещения по оси x в локальной системе координат.
См. также position.
y : real
Это свойство содержит значение y для перемещения по оси y в локальной системе координат.
См. также position.
z : real
Это свойство содержит значение z для перемещения по оси z в локальной системе координат.
См. также position.
Документация по методам
vector3d mapDirectionFromNode(QtQuick3D::Node node, vector3d localDirection)
Преобразует localDirection из локальной системы координат узла node в локальную систему координат текущего узла. Возвращаемое значение не зависит от масштаба и положения узла (унаследованных).
Примечание: длина возвращаемого значения будет такой же, как у localDirection (т.е. не нормировано).
См. также mapDirectionToNode, mapDirectionFromScene и mapDirectionToScene.
vector3d mapDirectionFromScene(vector3d sceneDirection)
Преобразует sceneDirection из пространства сцены в локальное пространство. Возвращаемое значение не зависит от масштаба и положения узла (унаследованных).
Примечание: длина возвращаемого значения будет такой же, как у sceneDirection (т.е. не нормировано).
См. также mapDirectionToScene, mapDirectionToNode и mapDirectionFromNode.
vector3d mapDirectionToNode(QtQuick3D::Node node, vector3d localDirection)
Преобразует localDirection из локальной системы координат текущего узла в локальную систему координат узла node. Возвращаемое значение не зависит от масштаба и положения узла (унаследованных).
Примечание: длина возвращаемого значения будет такой же, как у localDirection (т.е. не нормировано).
См. также mapDirectionFromNode, mapDirectionFromScene и mapDirectionToScene.
vector3d mapDirectionToScene(vector3d localDirection)
Преобразует localDirection из локальной системы координат в пространство сцены. Возвращаемое значение не зависит от масштаба и положения узла (унаследованных).
Примечание: длина возвращаемого значения будет такой же, как у localDirection (т.е. не нормировано).
См. также mapDirectionFromScene, mapDirectionToNode и mapDirectionFromNode.
vector3d mapPositionFromNode(QtQuick3D::Node node, vector3d localPosition)
Преобразует localPosition из локальной системы координат узла node в локальную систему координат текущего узла.
См. также mapPositionToScene, mapPositionFromScene и mapPositionToNode.
vector3d mapPositionFromScene(vector3d scenePosition)
Преобразует scenePosition из пространства сцены в локальное пространство.
См. также mapPositionToScene, mapPositionToNode и mapPositionFromNode.
vector3d mapPositionToNode(QtQuick3D::Node node, vector3d localPosition)
Преобразует localPosition из локальной системы координат текущего узла в локальную систему координат узла node.
См. также mapPositionToScene, mapPositionFromScene и mapPositionFromNode.
vector3d mapPositionToScene(vector3d localPosition)
Преобразует localPosition из локальной системы координат в пространство сцены.
Примечание: «Пространство сцены» иногда также называют «глобальным пространством». Но это означает «глобальное в 3D-мире», а не «глобальное для экрана или рабочего стола» (что обычно является интерпретацией в других API Qt).
См. также mapPositionFromScene, mapPositionToNode и mapPositionFromNode.
rotate(real degrees, vector3d axis, TransformSpace space)
Поворачивает этот узел вокруг оси axis на заданный угол degrees. Указанный поворот будет добавлен к текущему повороту узла. Ось может быть указана относительно различных пространств.
© The Qt Company Ltd
Licensed under the GNU Free Documentation License, Version 1.3.
https://doc.qt.io/qt-6.0/qml-qtquick3d-node.html