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.