이 페이지에서

Qt3DCore::QJoint Class

class Qt3DCore::QJoint

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

헤더: #include <QJoint>
CMake: find_package(Qt6 REQUIRED COMPONENTS 3DCore)
target_link_libraries(mytarget PRIVATE Qt6::3DCore)
qmake: QT += 3dcore
QML에서: Joint
상속: Qt3DCore::QNode
상태: 사용 중단됨

이 클래스는 더 이상 사용되지 않습니다. 새로운 코드에서는 이 클래스를 사용하지 않는 것을 강력히 권장합니다.

속성

공개 함수

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)

name : QString

이 속성은 관절의 이름을 저장합니다.

이 속성은 관절의 이름을 저장하며, 이 이름을 사용하여 스켈레톤 내에서 해당 관절을 식별할 수 있습니다.

액세스 함수:

QString name() const
void setName(const QString &name)

알림 신호:

void nameChanged(const QString &name)

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

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

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

setName()도 참조하십시오 .

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

이 조인트의 자식 목록에서 ‘ joint ’를 제거합니다. 자식 조인트는 삭제되지 않습니다.

[slot] void QJoint::setToIdentity()

이 관절의 변환 행렬을 단위 행렬로 설정합니다.

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