class QAbstractAnimationClip#

QAbstractAnimationClip 是提供关键帧动画数据的类型的基类。 更多信息

Inheritance diagram of PySide6.Qt3DAnimation.Qt3DAnimation.QAbstractAnimationClip

继承自: QAnimationClipLoader, QAnimationClip

摘要#

属性#

方法#

信号#

备注

本文档可能包含从 C++ 自动翻译到 Python 的代码片段。我们始终欢迎对片段翻译的贡献。如果您发现翻译有误,您也可以通过在 https:/bugreports.qt.io/projects/PYSIDE 创建工单的方式告知我们。

详细描述#

要利用 Qt 3D 动画模块中的关键帧动画框架,需要为正在使用的动画组件提供关键帧动画数据。动画数据由 QAbstractAnimationClip 的具体子类之一提供。

  • QAnimationClip

  • QAnimationClipLoader

当您希望在应用程序中通过编程方式创建动画数据时,应使用 QAnimationClip。实际数据通过 QAnimationClipData 值类型设置。

如果您正在从文件加载烘焙动画数据(例如,由艺术家创建),则使用 QAnimationClipLoader 类并设置其 source 属性。

一旦使用上述方法之一填充了动画片段数据,Qt 3D 动画后端将更新只读的持续时间属性。

动画片段的典型用法

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

另请参阅

QAnimationClip QAnimationClipLoader

备注

可以使用属性或通过访问函数使用属性,具体取决于是否使用 from __feature__ import true_property

属性durationᅟ: float#

表示动画片段的持续时间,单位为秒。一旦使用具体子类之一提供动画数据给 Qt 3D,就会更新。

访问函数
duration()#
返回类型:

float

属性 durationᅟ 的获取器。

durationChanged(duration)#
参数:

duration – float

属性 durationᅟ 的通知信号。