QVertexBlendAnimation 类
类 Qt3DAnimation::QVertexBlendAnimation实现顶点混合变形动画的类。更多...
头文件 | #include <QVertexBlendAnimation> |
CMake | find_package(Qt6 REQUIRED COMPONENTS 3danimation) target_link_libraries(mytarget PRIVATE Qt6::3danimation) |
qmake | QT += 3danimation |
由以下实例化 | 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会将变形态目 morph targets的正确QAttributes设置到目标QGeometryRenderer::geometry,并为当前位置计算插值器。与使用插值权重进行混合的QMorphingAnimation不同,混合发生在连续的变形态目之间。实际attributes之间的混合必须在材质中实现。Qt3DAnimation::QMorphPhongMaterial实现了支持phong光照模型的材料。混合发生在两个属性之间 - ‘基础’和‘目标’。基础属性和目标属性的名\dash名来自变形态目名,其中基础属性保留其原名称,而目标属性名称则添加“Target”到名称中。插值器可以作为QParameter设置为所使用的材质。动画中的所有变形态目都应该包含与基础几何相同名称的属性。
属性文档
[只读]
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)
使用parent构建一个新的QVertexBlendAnimation。
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)
设置动画的形变目标。旧目标将被清除。
© 2024 The Qt Company Ltd. 本文档中的文档贡献是各自所有者的版权。本文档根据自由软件基金会发布的 GNU 自由文档许可证第 1.3 版本许可。Qt 和相应的标志是芬兰和/或全球其他国家的 The Qt Company Ltd. 的商标。所有其他商标均为其各自所有者的财产。