本页内容

Qt3DAnimation::QAdditiveClipBlend Class

class Qt3DAnimation::QAdditiveClipBlend

根据加法因子对两个动画片段进行加法混合。更多...

标题: #include <qadditiveclipblend.h>
CMake: find_package(Qt6 REQUIRED COMPONENTS 3danimation)
target_link_libraries(mytarget PRIVATE Qt6::3danimation)
qmake: QT += 3danimation
在 QML 中: AdditiveClipBlend
继承自: Qt3DAnimation::QAbstractClipBlendNode
状态: 技术预览

该类处于技术预览阶段,内容可能会有变动。

属性

公共函数

Qt3DAnimation::QAbstractClipBlendNode *additiveClip() const
float additiveFactor() const
Qt3DAnimation::QAbstractClipBlendNode *baseClip() const

公共插槽

void setAdditiveClip(Qt3DAnimation::QAbstractClipBlendNode *additiveClip)
void setAdditiveFactor(float additiveFactor)
void setBaseClip(Qt3DAnimation::QAbstractClipBlendNode *baseClip)

信号

void additiveClipChanged(Qt3DAnimation::QAbstractClipBlendNode *additiveClip)
void additiveFactorChanged(float additiveFactor)
void baseClipChanged(Qt3DAnimation::QAbstractClipBlendNode *baseClip)

详细说明

QAdditiveClipBlend 可用于基于单个动画片段创建高级动画效果。例如,如果您:

  • 将baseClip 属性设置为一个普通的行走循环动画片段,并且
  • 将additiveClip 属性设置为“摇头”差异片段,

那么调整additiveFactor 属性将控制additiveClip 在baseClip 中被叠加的程度。其效果是:当additiveFactor 为零时,该混合节点将输出原始的行走循环片段;当additiveFactor 为1时,则输出包含摇头动画的行走循环片段。

该类实现的混合运算如下:

resultClip = baseClip + additiveFactor * additiveClip

虽然您可以为 additiveFacor 属性设置 0 到 1 范围外的值,但请注意,输入的动画片段可能并非以支持这种操作的方式制作,因此该操作可能没有意义。

另请参阅 QBlendedClipAnimator 。

属性文档

additiveClip : Qt3DAnimation::QAbstractClipBlendNode*

该属性存储了将与baseClip 进行混合的加法剪切。混合程度由additiveFactor 属性控制。

访问函数:

Qt3DAnimation::QAbstractClipBlendNode *additiveClip() const
void setAdditiveClip(Qt3DAnimation::QAbstractClipBlendNode *additiveClip)

通知信号:

void additiveClipChanged(Qt3DAnimation::QAbstractClipBlendNode *additiveClip)

additiveFactor : float

指定混合因子(通常在 0 到 1 之间),用于控制两个动画片段的混合效果。

访问函数:

float additiveFactor() const
void setAdditiveFactor(float additiveFactor)

通知器信号:

void additiveFactorChanged(float additiveFactor)

baseClip : Qt3DAnimation::QAbstractClipBlendNode*

该属性存储基础动画片段。当“additiveFactor ”为零时,baseClip 也将是该混合节点的结果片段。

访问函数:

Qt3DAnimation::QAbstractClipBlendNode *baseClip() const
void setBaseClip(Qt3DAnimation::QAbstractClipBlendNode *baseClip)

通知器信号:

void baseClipChanged(Qt3DAnimation::QAbstractClipBlendNode *baseClip)

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