QJoint 类

class Qt3DCore::QJoint

用于变换皮肤网格的部分。 更多...

头文件 #include <QJoint>
CMakefind_package(Qt6 REQUIRED COMPONENTS 3DCore)
target_link_libraries(mytarget PRIVATE Qt6::3DCore)
qmakeQT += 3dcore
由以下实例化 Joint
继承自 Qt3DCore::QNode

属性

公共函数

QJoint(Qt3DCore::QNode *parent = nullptr)
voidaddChildJoint(Qt3DCore::QJoint *joint)
QList<Qt3DCore::QJoint *>childJoints() const
QMatrix4x4inverseBindMatrix() const
QStringname() const
voidremoveChildJoint(Qt3DCore::QJoint *joint)
QQuaternionrotation() const
floatrotationX() const
floatrotationY() const
floatrotationZ() const
QVector3Dscale() const
QVector3Dtranslation() const

公共槽

voidsetInverseBindMatrix(const QMatrix4x4 &inverseBindMatrix)
voidsetName(const QString &name)
voidsetRotation(const QQuaternion &rotation)
voidsetRotationX(float rotationX)
voidsetRotationY(float rotationY)
voidsetRotationZ(float rotationZ)
voidsetScale(const QVector3D &scale)
voidsetToIdentity()
voidsetTranslation(const QVector3D &translation)

信号

voidinverseBindMatrixChanged(const QMatrix4x4 &inverseBindMatrix)
voidnameChanged(const QString &name)
voidrotationChanged(const QQuaternion &rotation)
voidrotationXChanged(float rotationX)
voidrotationYChanged(float rotationY)
voidrotationZChanged(float rotationZ)
voidscaleChanged(const QVector3D &scale)
voidtranslationChanged(const QVector3D &translation)

详细说明

QJoint节点用于在Qt 3D的皮肤网格支持中构建骨骼。一个关节可以通过其缩放、旋转和平移属性进行变换。任何绑定到关节上的网格顶点都会相应地更新其变换。

属性文档

inverseBindMatrix : QMatrix4x4

存储关节的逆绑定矩阵。这用于将顶点从模型空间转换到本关节空间,以便随后可以通过关节的全局变换进行蒙皮操作。

访问函数

QMatrix4x4inverseBindMatrix() const
voidsetInverseBindMatrix(const QMatrix4x4 &inverseBindMatrix)

通知信号

voidinverseBindMatrixChanged(const QMatrix4x4 &inverseBindMatrix)

rotation : QQuaternion

存储关节的旋转为QQuaternion

访问函数

QQuaternionrotation() const
voidsetRotation(const QQuaternion &rotation)

通知信号

voidrotationChanged(const QQuaternion &rotation)

rotationX : float

存储关节的x旋转为欧拉角。

访问函数

floatrotationX() const
voidsetRotationX(float rotationX)

通知信号

voidrotationXChanged(float rotationX)

rotationY : float

存储关节的y旋转为欧拉角。

访问函数

floatrotationY() const
voidsetRotationY(float rotationY)

通知信号

voidrotationYChanged(float rotationY)

rotationZ : float

存储关节的z旋转为欧拉角。

访问函数

floatrotationZ() const
voidsetRotationZ(float rotationZ)

通知信号

voidrotationZChanged(float rotationZ)

scale : QVector3D

存储关节的缩放。

访问函数

QVector3Dscale() const
voidsetScale(const QVector3D &scale)

通知信号

voidscaleChanged(const QVector3D &scale)

translation : QVector3D

存储关节的平移为QVector3D

访问函数

QVector3Dtranslation() const
voidsetTranslation(const QVector3D &translation)

通知信号

voidtranslationChanged(const QVector3D &translation)

成员函数文档

[显式] QJoint::QJoint(Qt3DCore::QNode *parent = nullptr)

使用 parent 构造一个新的 QJoint 对象。

void QJoint::addChildJoint(Qt3DCore::QJoint *joint)

joint 作为此关节的子节点添加。如果 joint 没有父节点,则此关节将拥有它。子关节位于其父关节的坐标系中。

QList<Qt3DCore::QJoint *> QJoint::childJoints() const

此关节作为子节点的关节向量。

QString QJoint::name() const

返回关节的名称。

注意:属性 name 的获取器函数。

另请参阅:setName().

void QJoint::removeChildJoint(Qt3DCore::QJoint *joint)

从此关节的子节点列表中删除 joint。子关节不会被销毁。

[槽函数] void QJoint::setToIdentity()

将此关节的转换矩阵设置为恒等矩阵。

© 2024 Qt 公司 Ltd. 本文档中的贡献归属各自的产权所有者。本文档是根据自由软件基金会发布的 GNU 自由文档许可证版本 1.3 的条款许可的。Qt 和相应的标志是芬兰以及全球其他地区的 Qt 公司 Ltd. 的注册商标。所有其他商标均为其相应的产权所有者所有。