Auf dieser Seite

Qt3DAnimation::QVertexBlendAnimation Class

class Qt3DAnimation::QVertexBlendAnimation

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

Header: #include <qvertexblendanimation.h>
CMake: find_package(Qt6 REQUIRED COMPONENTS 3danimation)
target_link_libraries(mytarget PRIVATE Qt6::3danimation)
qmake: QT += 3danimation
In QML: VertexBlendAnimation
Erbt von: Qt3DAnimation::QAbstractAnimation
Status: Technologievorschau

Diese Klasse befindet sich in der Technologievorschau und kann sich noch ändern.

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 korrekten „ QAttributes “ vom „ morph targets “ in das Ziel-„ QGeometryRenderer::geometry “ und berechnet den Interpolator für die aktuelle Position. Anders als bei „ QMorphingAnimation “, wo das Überblenden durch Überblendungsgewichte gesteuert wird, erfolgt das Überblenden zwischen aufeinanderfolgenden Morph-Zielen. Die eigentliche Überblendung zwischen den Attributen muss im Material implementiert werden. Qt3DAnimation::QMorphPhongMaterial implementiert ein Material mit Morphing-Unterstützung für das Phong-Beleuchtungsmodell. Die Überblendung erfolgt zwischen zwei Attributen – „base“ und „target“. Die Namen für die Basis- und Zielattribute werden aus den Namen der Morph-Ziele übernommen, wobei das Basisattribut seinen bisherigen Namen behält und dem Namen des Zielattributs „Target“ angehängt wird. Der Interpolator kann als „ QParameter “ für das verwendete Material festgelegt werden. Alle Morph-Ziele in der Animation sollten Attribute mit denselben Namen enthalten wie die Basisgeometrie.

Dokumentation zu den Eigenschaften

[read-only] interpolator : float

Enthält den Interpolator zwischen Basis- und Zielattributen.

Zugriffsfunktionen:

float interpolator() const

Benachrichtigungssignal:

void interpolatorChanged(float interpolator)

target : Qt3DRender::QGeometryRenderer*

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

Zugriffsfunktionen:

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

Notifier-Signal:

void targetChanged(Qt3DRender::QGeometryRenderer *target)

targetName : QString

Enthält den Namen der Zielgeometrie. Dies ist eine Hilfseigenschaft, die es einfacher macht, die Zielgeometrie an die Morphing-Animation anzupassen. Der Name entspricht in der Regel dem Namen der übergeordneten Entität des Ziel-QGeometryRenderers, muss dies jedoch nicht unbedingt tun.

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 angeordnet sein. 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)

Dokumentation der Mitgliedsfunktionen

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

Erstellen Sie eine neue `QVertexBlendAnimation` mit ` parent`.

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

Füge am Ende der Animation den neuen Morph „ target “ hinzu.

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

Gibt die Liste der Morph-Ziele zurück.

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

Entferne den Morph „ target “ aus der Animation.

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

Setzt den Morph- targets us auf „Animation“. Alte Ziele werden gelöscht.

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