Spec-Zone.ru › Qt

Класс QAbstractAnimationClip

класс Qt3DAnimation::QAbstractAnimationClip

QAbstractAnimationClip — базовый класс для типов, предоставляющих данные анимации с ключевыми кадрами. Подробнее...

Заголовок: #include <QAbstractAnimationClip>
CMake: find_package(Qt6 COMPONENTS 3danimation REQUIRED) target_link_libraries(mytarget PRIVATE Qt6::3danimation)
qmake: QT += 3danimation
С момента: Qt 5.9
Наследуется от: Qt3DCore::QNode
Наследуется:

Qt3DAnimation::QAnimationClip и Qt3DAnimation::QAnimationClipLoader

  • Список всех членов, включая унаследованные

Свойства

  • duration : const float

Открытые функции

virtual ~QAbstractAnimationClip()
float duration() const

Сигналы

void durationChanged(float duration)

Подробное описание

Для использования системы анимации с ключевыми кадрами в модуле Qt 3D Animation компоненту аниматора необходимо предоставить данные анимации с ключевыми кадрами. Данные анимации предоставляются одним из конкретных подклассов QAbstractAnimationClip:

  • Qt3DAnimation::QAnimationClip
  • Qt3DAnimation::QAnimationClipLoader

QAnimationClip следует использовать, когда вы хотите создать данные анимации программно в своем приложении. Фактические данные устанавливаются с помощью значения типа QAnimationClipData.

Если вы загружаете данные анимации, сохранённые в файле (например, созданные художником), используйте класс QAnimationClipLoader и установите его source свойство.

После того, как клип анимации будет заполнен данными с помощью указанных методов, свойство только для чтения duration будет обновлено бэкендом Qt 3D Animation.

Типичное использование клипов анимации:

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

Клипы анимации также используются в качестве значений лиственных узлов в деревьях смешивания анимации:

// 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);

См. такжеQt3DAnimation::QAnimationClip и Qt3DAnimation::QAnimationClipLoader.

Документация по свойствам

[read-only] duration : const float

Содержит продолжительность клипа анимации в секундах. Обновляется после того, как данные анимации предоставлены Qt 3D с помощью одного из конкретных подклассов.

Функции доступа:

float duration() const

Сигнал уведомления:

void durationChanged(float duration)

Документация по членам-функциям

[virtual] QAbstractAnimationClip::~QAbstractAnimationClip()

Уничтожает этот клип анимации.

© The Qt Company Ltd
Licensed under the GNU Free Documentation License, Version 1.3.
https://doc.qt.io/qt-6.2/qt3danimation-qabstractanimationclip.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API