Auf dieser Seite

Qt3DAnimation::QAbstractAnimationClip Class

class Qt3DAnimation::QAbstractAnimationClip

„QAbstractAnimationClip“ ist die Basisklasse für Typen, die Keyframe-Animationsdaten bereitstellen. Mehr...

Header: #include <qabstractanimationclip.h>
CMake: find_package(Qt6 REQUIRED COMPONENTS 3danimation)
target_link_libraries(mytarget PRIVATE Qt6::3danimation)
qmake: QT += 3danimation
Erbt von: Qt3DCore::QNode
Vererbt an:

Qt3DAnimation::QAnimationClip und Qt3DAnimation::QAnimationClipLoader

Status: Technologievorschau

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

Eigenschaften

Öffentliche Funktionen

virtual ~QAbstractAnimationClip()
float duration() const

Signale

void durationChanged(float duration)

Ausführliche Beschreibung

Um das Keyframe-Animations-Framework im Animationsmodul von „ Qt 3D “ nutzen zu können, muss der verwendeten Animationskomponente die Keyframe-Animationsdaten bereitgestellt werden. Die Animationsdaten werden von einer der konkreten Unterklassen von `QAbstractAnimationClip` bereitgestellt:

QAnimationClip sollte verwendet werden, wenn Sie die Animationsdaten programmgesteuert innerhalb Ihrer Anwendung erstellen möchten. Die eigentlichen Daten werden mit einem Wert vom Typ „ QAnimationClipData “ festgelegt.

Wenn Sie vorgefertigte Animationsdaten aus einer Datei laden, die beispielsweise von einem Grafiker erstellt wurden, verwenden Sie die Klasse „ QAnimationClipLoader “ und setzen Sie deren Eigenschaft „ source “.

Sobald der Animationsclip mithilfe der oben genannten Methoden mit Daten gefüllt wurde, wird die schreibgeschützte Eigenschaft „duration“ vom „ Qt 3D “-Animations-Backend aktualisiert.

Animationsclips werden typischerweise wie folgt verwendet:

auto animator = new QClipAnimator();
auto clip = new QAnimationClipLoader();
clip->setSource(QUrl::fromLocalFile("bounce.json"));
animator->setClip(clip);
animator->setChannelMapper(...);
animator->setRunning(true);

Animationsclips werden auch als Werte der Blattknoten in Animations-Blend-Trees verwendet:

// Create leaf nodes of blend tree
auto slideClipValue = new QClipBlendValue(
    new QAnimationClipLoader(QUrl::fromLocalFile("slide.json")));
auto bounceClipValue = new QClipBlendValue(
    new QAnimationClipLoader(QUrl::fromLocalFile("bounce.json")));

// Create blend tree inner node
auto additiveNode = new QAdditiveClipBlend();
additiveNode->setBaseClip(slideClipValue);
additiveNode->setAdditiveClip(bounceClipValue);
additiveNode->setAdditiveFactor(0.5f);

// Run the animator
auto animator = new QBlendedClipAnimator();
animator->setBlendTree(additiveNode);
animator->setChannelMapper(...);
animator->setRunning(true);

Siehe auch „ Qt3DAnimation::QAnimationClip “ und „ Qt3DAnimation::QAnimationClipLoader “.

Dokumentation zu Eigenschaften

[read-only] duration : float

Enthält die Dauer des Animationsclips in Sekunden. Wird aktualisiert, sobald die Animationsdaten mithilfe einer der konkreten Unterklassen an „ Qt 3D “ übergeben werden.

Zugriffsfunktionen:

float duration() const

Notifier-Signal:

void durationChanged(float duration)

Dokumentation der Mitgliedsfunktionen

[virtual noexcept] QAbstractAnimationClip::~QAbstractAnimationClip()

Löscht diesen Animationsclip.

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