QVertexBlendAnimation Class

class Qt3DAnimation::QVertexBlendAnimation

Eine Klasse, die eine Vertex-Blend-Morphing-Animation implementiert. Mehr...

Kopfzeile: #include <QVertexBlendAnimation>
CMake: find_package(Qt6 REQUIRED COMPONENTS 3danimation)
target_link_libraries(mytarget PRIVATE Qt6::3danimation)
qmake: QT += 3danimation
In QML: VertexBlendAnimation
Vererbt: Qt3DAnimation::QAbstractAnimation
Status: Veraltet

Eigenschaften

Öffentliche Funktionen

QVertexBlendAnimation(QObject *parent = nullptr)
void addMorphTarget(Qt3DAnimation::QMorphTarget *target)
float interpolator() const
QList<Qt3DAnimation::QMorphTarget *> morphTargetList()
void removeMorphTarget(Qt3DAnimation::QMorphTarget *target)
void setMorphTargets(const QList<Qt3DAnimation::QMorphTarget *> &targets)
Qt3DRender::QGeometryRenderer *target() const
QString targetName() const
QList<float> targetPositions() const

Öffentliche Slots

void setTarget(Qt3DRender::QGeometryRenderer *target)
void setTargetName(const QString name)
void setTargetPositions(const QList<float> &targetPositions)

Signale

void interpolatorChanged(float interpolator)
void targetChanged(Qt3DRender::QGeometryRenderer *target)
void targetNameChanged(const QString &name)
void targetPositionsChanged(const QList<float> &targetPositions)

Detaillierte Beschreibung

Eine Qt3DAnimation::QVertexBlendAnimation Klasse implementiert eine Vertex-Blend-Morphing-Animation zu einem Ziel QGeometryRenderer. Die QVertexBlendAnimation setzt die korrekte QAttributes vom morph targets zum Ziel QGeometryRenderer::geometry und berechnet den Interpolator für die aktuelle Position. Anders als bei QMorphingAnimation, wo die Überblendung mit Überblendungsgewichten gesteuert wird, erfolgt die Überblendung zwischen aufeinanderfolgenden Morph-Zielen. Die eigentliche Überblendung zwischen den Attributen muss im Material implementiert werden. Qt3DAnimation::QMorphPhongMaterial implementiert Material mit Morphing-Unterstützung für das Phong-Lichtmodell. Die Überblendung erfolgt zwischen 2 Attributen - 'base' und 'target'. Die Namen für die Basis- und Ziel-Attribute werden von den Morph-Ziel-Namen übernommen, wobei das Basis-Attribut den Namen behält, den es bereits hat, und der Name des Ziel-Attributs mit dem Zusatz "Ziel" versehen wird. Der Interpolator kann als QParameter auf das verwendete Material gesetzt werden. Alle Morph-Ziele in der Animation sollten die Attribute mit den gleichen Namen wie die der Basisgeometrie enthalten.

Dokumentation der Eigenschaft

[read-only] interpolator : const float

Enthält den Interpolator zwischen Basis- und Zielattributen.

Zugriffsfunktionen:

float interpolator() const

Anmelder-Signal:

void interpolatorChanged(float interpolator)

target : Qt3DRender::QGeometryRenderer*

Enthält den QGeometryRenderer, auf den die Morphing-Animation angewendet wird.

Zugriffsfunktionen:

Qt3DRender::QGeometryRenderer *target() const
void setTarget(Qt3DRender::QGeometryRenderer *target)

Benachrichtigungssignal:

void targetChanged(Qt3DRender::QGeometryRenderer *target)

targetName : QString

Enthält den Namen der Zielgeometrie. Dies ist eine praktische Eigenschaft, die es einfacher macht, die Zielgeometrie der Morphing-Animation zuzuordnen. Der Name ist normalerweise derselbe wie der Name der übergeordneten Entität des Ziel QGeometryRenderer, muss es aber nicht sein.

Zugriffsfunktionen:

QString targetName() const
void setTargetName(const QString name)

Notifier Signal:

void targetNameChanged(const QString &name)

targetPositions : QList<float>

Enthält die Positionswerte des Morph-Ziels. Jede Position in der Liste gibt die Position des entsprechenden Morph-Ziels mit demselben Index an. Die Werte müssen in aufsteigender Reihenfolge stehen. Die Werte können positiv oder negativ sein und haben keine vordefinierte Einheit.

Zugriffsfunktionen:

QList<float> targetPositions() const
void setTargetPositions(const QList<float> &targetPositions)

Notifier-Signal:

void targetPositionsChanged(const QList<float> &targetPositions)

Member Function Dokumentation

[explicit] QVertexBlendAnimation::QVertexBlendAnimation(QObject *parent = nullptr)

Konstruieren Sie eine neue QVertexBlendAnimation mit parent.

void QVertexBlendAnimation::addMorphTarget(Qt3DAnimation::QMorphTarget *target)

Fügen Sie am Ende der Animation einen neuen Morph target hinzu.

QList<Qt3DAnimation::QMorphTarget *> QVertexBlendAnimation::morphTargetList()

Rückgabe der Morph-Zielliste.

void QVertexBlendAnimation::removeMorphTarget(Qt3DAnimation::QMorphTarget *target)

Entfernen Sie den Morph target aus der Animation.

void QVertexBlendAnimation::setMorphTargets(const QList<Qt3DAnimation::QMorphTarget *> &targets)

Morph targets auf Animation einstellen. Alte Ziele werden gelöscht.

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