Класс QVertexBlendAnimation
класс Qt3DAnimation::QVertexBlendAnimationКласс, реализующий анимацию морфинга с вершинным слиянием. Подробнее...
| Заголовок: | #include <QVertexBlendAnimation> |
| CMake: | find_package(Qt6 COMPONENTS 3danimation REQUIRED) target_link_libraries(mytarget PRIVATE Qt6::3danimation) |
| qmake: | QT += 3danimation |
| С тех пор: | Qt 5.9 |
| Инициализируется: | VertexBlendAnimation |
| Наследует: | Qt3DAnimation::QAbstractAnimation |
Свойства
- interpolator : const float
- target : Qt3DRender::QGeometryRenderer*
- targetName : QString
- targetPositions : QList<float>
Открытые функции
| 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 |
Открытые слоты
| void | setTarget(Qt3DRender::QGeometryRenderer *target) |
| void | setTargetName(const QString name) |
| void | setTargetPositions(const QList<float> &targetPositions) |
Сигналы
| void | interpolatorChanged(float interpolator) |
| void | targetChanged(Qt3DRender::QGeometryRenderer *target) |
| void | targetNameChanged(const QString &name) |
| void | targetPositionsChanged(const QList<float> &targetPositions) |
Подробное описание
Класс Qt3DAnimation::QVertexBlendAnimation реализует анимацию морфинга с вершинным слиянием для целевого QGeometryRenderer. QVertexBlendAnimation устанавливает правильные QAttributes от морфинг-таргетов в целевой QGeometryRenderer::geometry и вычисляет интерполятор для текущего положения. В отличие от QMorphingAnimation, где слияние управляется весами слияния, слияние происходит между последовательными морфинг-таргетами. Фактическое слияние между атрибутами должно быть реализовано в материале. Qt3DAnimation::QMorphPhongMaterial реализует материал с поддержкой морфинга для модели освещения Phong. Слияние происходит между 2 атрибутами — 'base' и 'target'. Имена атрибутов base и target берутся из имен морфинг-таргетов, где базовый атрибут сохраняет имеющееся имя, а имя целевого атрибута получает приписку 'Target' к имени. Интерполятор можно задать как QParameter в используемом материале. Все морфинг-таргеты в анимации должны содержать атрибуты с теми же именами, что и в базовой геометрии.
Документация по свойствам
[read-only] interpolator : const float
Содержит интерполятор между базовыми и целевыми атрибутами.
Функции доступа:
| float | interpolator() const |
Сигнал уведомления:
| void | interpolatorChanged(float interpolator) |
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 : QList<float>
Содержит значения позиции морфинг-таргета. Каждая позиция в списке определяет положение соответствующего морфинг-таргета с тем же индексом. Значения должны быть в порядке возрастания. Значения могут быть положительными или отрицательными и не имеют предварительно определенной единицы измерения.
Функции доступа:
| QList<float> | targetPositions() const |
| void | setTargetPositions(const QList<float> &targetPositions) |
Сигнал уведомления:
| void | targetPositionsChanged(const QList<float> &targetPositions) |
Документация по функции-члену
QVertexBlendAnimation::QVertexBlendAnimation(QObject *parent = nullptr)
Создает новый QVertexBlendAnimation с parent.
void QVertexBlendAnimation::addMorphTarget(Qt3DAnimation::QMorphTarget *target)
Добавить новый морфинг-целевой объект в конец анимации.
QList<Qt3DAnimation::QMorphTarget *> QVertexBlendAnimation::morphTargetList()
Возвращает список морфинг-целевых объектов.
void QVertexBlendAnimation::removeMorphTarget(Qt3DAnimation::QMorphTarget *target)
Удалить морфинг-целевой объект из анимации.
void QVertexBlendAnimation::setMorphTargets(const QList<Qt3DAnimation::QMorphTarget *> &targets)
Установить морфинг-целевые объекты для анимации. Старые целевые объекты очищаются.
© The Qt Company Ltd
Licensed under the GNU Free Documentation License, Version 1.3.
https://doc.qt.io/qt-6.1/qt3danimation-qvertexblendanimation.html