QJoint Class

class Qt3DCore::QJoint

스킨된 메시의 일부를 변형하는 데 사용됩니다. 더 보기...

Header: #include <QJoint>
CMake: find_package(Qt6 REQUIRED COMPONENTS 3DCore)
target_link_libraries(mytarget PRIVATE Qt6::3DCore)
qmake: QT += 3dcore
QML에서: Joint
상속합니다: Qt3DCore::QNode
상태: Deprecated

속성

공용 기능

QJoint(Qt3DCore::QNode *parent = nullptr)
void addChildJoint(Qt3DCore::QJoint *joint)
QList<Qt3DCore::QJoint *> childJoints() const
QMatrix4x4 inverseBindMatrix() const
QString name() const
void removeChildJoint(Qt3DCore::QJoint *joint)
QQuaternion rotation() const
float rotationX() const
float rotationY() const
float rotationZ() const
QVector3D scale() const
QVector3D translation() const

공용 슬롯

void setInverseBindMatrix(const QMatrix4x4 &inverseBindMatrix)
void setName(const QString &name)
void setRotation(const QQuaternion &rotation)
void setRotationX(float rotationX)
void setRotationY(float rotationY)
void setRotationZ(float rotationZ)
void setScale(const QVector3D &scale)
void setToIdentity()
void setTranslation(const QVector3D &translation)

신호

void inverseBindMatrixChanged(const QMatrix4x4 &inverseBindMatrix)
void nameChanged(const QString &name)
void rotationChanged(const QQuaternion &rotation)
void rotationXChanged(float rotationX)
void rotationYChanged(float rotationY)
void rotationZChanged(float rotationZ)
void scaleChanged(const QVector3D &scale)
void translationChanged(const QVector3D &translation)

상세 설명

QJoint 노드는 Qt 3D 에서 스킨 메시 지원의 일부로 스켈레톤을 빌드하는 데 사용됩니다. 조인트는 스케일, 회전 및 이동 프로퍼티를 통해 변형할 수 있습니다. 조인트에 바인딩된 모든 메시 버텍스는 그에 따라 변환이 업데이트됩니다.

프로퍼티 문서

inverseBindMatrix : QMatrix4x4

조인트의 역 바인드 행렬을 보유합니다. 모델 공간의 버텍스를 이 조인트의 공간으로 변환하는 데 사용되며, 이후 조인트의 전역 변환을 곱하여 스키닝 작업을 수행할 수 있습니다.

함수에 액세스합니다:

QMatrix4x4 inverseBindMatrix() const
void setInverseBindMatrix(const QMatrix4x4 &inverseBindMatrix)

알림 신호:

void inverseBindMatrixChanged(const QMatrix4x4 &inverseBindMatrix)

rotation : QQuaternion

조인트의 회전을 QQuaternion 로 유지합니다.

기능에 액세스합니다:

QQuaternion rotation() const
void setRotation(const QQuaternion &rotation)

알림 신호:

void rotationChanged(const QQuaternion &rotation)

rotationX : float

조인트의 x 회전을 오일러 각도로 유지합니다.

기능에 액세스합니다:

float rotationX() const
void setRotationX(float rotationX)

알림 신호:

void rotationXChanged(float rotationX)

rotationY : float

조인트의 y 회전을 오일러 각도로 유지합니다.

기능에 액세스합니다:

float rotationY() const
void setRotationY(float rotationY)

알림 신호:

void rotationYChanged(float rotationY)

rotationZ : float

조인트의 z 회전을 오일러 각도로 유지합니다.

기능에 액세스합니다:

float rotationZ() const
void setRotationZ(float rotationZ)

알림 신호:

void rotationZChanged(float rotationZ)

scale : QVector3D

조인트의 스케일을 유지합니다.

기능에 액세스합니다:

QVector3D scale() const
void setScale(const QVector3D &scale)

알림 신호:

void scaleChanged(const QVector3D &scale)

translation : QVector3D

조인트의 번역을 QVector3D 로 유지합니다.

기능에 액세스합니다:

QVector3D translation() const
void setTranslation(const QVector3D &translation)

알림 신호:

void translationChanged(const QVector3D &translation)

멤버 함수 문서

[explicit] 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

조인트의 이름을 반환합니다.

참고: 속성 이름에 대한 게터 함수입니다.

setName()도 참조하세요 .

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

이 조인트의 하위 목록에서 joint 을 제거합니다. 하위 조인트는 파괴되지 않습니다.

[slot] void QJoint::setToIdentity()

이 조인트의 변환 행렬을 아이덴티티 행렬로 설정합니다.

© 2025 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.