このページでは

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.