QMorphingAnimation Class
class Qt3DAnimation::QMorphingAnimationブレンドシェイプ・モーフィング・アニメーションを実装したクラス。もっと詳しく...
Header: | #include <QMorphingAnimation> |
CMake: | find_package(Qt6 REQUIRED COMPONENTS 3danimation) target_link_libraries(mytarget PRIVATE Qt6::3danimation) |
qmake: | QT += 3danimation |
In QML: | MorphingAnimation |
Inherits: | Qt3DAnimation::QAbstractAnimation |
Status: | Deprecated |
パブリックタイプ
enum | Method { Normalized, Relative } |
プロパティ
|
|
パブリック関数
QMorphingAnimation(QObject *parent = nullptr) | |
void | addMorphTarget(Qt3DAnimation::QMorphTarget *target) |
QEasingCurve | easing() const |
QVector<float> | getWeights(int positionIndex) |
float | interpolator() const |
Qt3DAnimation::QMorphingAnimation::Method | method() const |
QVector<Qt3DAnimation::QMorphTarget *> | morphTargetList() |
void | removeMorphTarget(Qt3DAnimation::QMorphTarget *target) |
void | setMorphTargets(const QVector<Qt3DAnimation::QMorphTarget *> &targets) |
void | setWeights(int positionIndex, const QVector<float> &weights) |
Qt3DRender::QGeometryRenderer * | target() const |
QString | targetName() const |
QVector<float> | targetPositions() const |
パブリックスロット
void | setEasing(const QEasingCurve &easing) |
void | setMethod(Qt3DAnimation::QMorphingAnimation::Method method) |
void | setTarget(Qt3DRender::QGeometryRenderer *target) |
void | setTargetName(const QString name) |
void | setTargetPositions(const QVector<float> &targetPositions) |
シグナル
void | easingChanged(const QEasingCurve &easing) |
void | interpolatorChanged(float interpolator) |
void | methodChanged(Qt3DAnimation::QMorphingAnimation::Method method) |
void | targetChanged(Qt3DRender::QGeometryRenderer *target) |
void | targetNameChanged(const QString &name) |
void | targetPositionsChanged(const QVector<float> &targetPositions) |
詳細説明
Qt3DAnimation::QMorphingAnimation クラスは、ターゲットQGeometryRenderer へのブレンドシェイプモーフィングアニメーションを実装します。QMorphingAnimation は、morph targets からターゲットQGeometryRenderer::geometry に正しいQAttributes を設定し、現在の位置の補間子を計算します。属性間の実際のブレンドは、マテリアルで実装する必要があります。Qt3DAnimation::QMorphPhongMaterialは、フォンの照明モデルのためのモーフィングサポートを持つマテリアルを実装しています。ブレンドは、2つの属性 - 'base' と 'target' - の間で行われます。base 属性と target 属性の名前はモーフターゲットの名前から取られ、base 属性は既に持っている名前を保持し、target 属性の名前には 'Target' が付加されます。インターポレータは、使用するマテリアルにQParameter として設定できます。アニメーション内のすべてのモーフターゲットは、ベースジオメトリのアトリビュートと同じ名前のアトリビュートを含む必要があります。
メンバ タイプ ドキュメント
enum QMorphingAnimation::Method
この列挙型は、モーフィング方法を指定します。
定数 | 値 | 説明 |
---|---|---|
Qt3DAnimation::QMorphingAnimation::Normalized | 0 | ブレンドは正規化された式を使用する; V' = Vbase * (1.0 - sum(Wi))+ sum[Vi * Wi] |
Qt3DAnimation::QMorphingAnimation::Relative | 1 | ブレンドには相対式を使用する。 |
プロパティの説明
easing : QEasingCurve
モーフターゲット間のイージングカーブを保持します。
アクセス関数:
QEasingCurve | easing() const |
void | setEasing(const QEasingCurve &easing) |
通知シグナル
void | easingChanged(const QEasingCurve &easing) |
[read-only]
interpolator : const float
ベースアトリビュートとターゲットアトリビュート間のインターポレーターを保持します。
アクセス関数です:
float | interpolator() const |
ノーティファイアシグナル
void | interpolatorChanged(float interpolator) |
method : Method
モーフィング方法を保持します。デフォルトはRelativeです。
アクセス関数
Qt3DAnimation::QMorphingAnimation::Method | method() const |
void | setMethod(Qt3DAnimation::QMorphingAnimation::Method method) |
通知シグナル
void | methodChanged(Qt3DAnimation::QMorphingAnimation::Method method) |
target : Qt3DRender::QGeometryRenderer*
モーフィングアニメーションが適用される対象のQGeometryRendererを保持します。
アクセス関数
Qt3DRender::QGeometryRenderer * | target() const |
void | setTarget(Qt3DRender::QGeometryRenderer *target) |
通知シグナル
void | targetChanged(Qt3DRender::QGeometryRenderer *target) |
targetName : QString
ターゲットジオメトリの名前を保持します。これは、ターゲットジオメトリをモーフィングアニメーションにマッチさせやすくするための便利なプロパティです。この名前は通常、ターゲット QGeometryRenderer の親エンティティの名前と同じですが、同じである必要はありません。
アクセス関数
QString | targetName() const |
void | setTargetName(const QString name) |
通知シグナル
void | targetNameChanged(const QString &name) |
targetPositions : QVector<float>
モーフターゲットの位置値を保持します。リストの各位置は、同じインデックスを持つ対応するモーフターゲットの位置を指定します。値は昇順でなければなりません。値は正でも負でもよく、定義済みの単位はありません。
アクセス関数:
QVector<float> | targetPositions() const |
void | setTargetPositions(const QVector<float> &targetPositions) |
通知シグナル:
void | targetPositionsChanged(const QVector<float> &targetPositions) |
メンバ関数ドキュメント
[explicit]
QMorphingAnimation::QMorphingAnimation(QObject *parent = nullptr)
parent で新しい QMorphingAnimation を構築します。
void QMorphingAnimation::addMorphTarget(Qt3DAnimation::QMorphTarget *target)
アニメーションの最後に新しいモーフtarget を追加する。
QVector<float> QMorphingAnimation::getWeights(int positionIndex)
モーフの重みをpositionIndex で返します。
QVector<Qt3DAnimation::QMorphTarget *> QMorphingAnimation::morphTargetList()
モーフターゲットリストを返します。
void QMorphingAnimation::removeMorphTarget(Qt3DAnimation::QMorphTarget *target)
アニメーションからモーフtarget を削除します。
void QMorphingAnimation::setMorphTargets(const QVector<Qt3DAnimation::QMorphTarget *> &targets)
アニメーションにモーフtargets を設定します。古いターゲットはクリアされます。
void QMorphingAnimation::setWeights(int positionIndex, const QVector<float> &weights)
モーフweights をpositionIndex にセットします。
本ドキュメントに含まれる文書の著作権は、それぞれの所有者に帰属します。 本書で提供されるドキュメントは、Free Software Foundation が発行したGNU Free Documentation License version 1.3に基づいてライセンスされています。 Qtおよびそれぞれのロゴは、フィンランドおよびその他の国におけるThe Qt Company Ltd.の 商標です。その他すべての商標は、それぞれの所有者に帰属します。