PySide6.Qt3DAnimation.Qt3DAnimation

class Qt3DAnimation

包含来自Qt3DAnimation模块的类。More_

注意

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

详细描述

class QMorphTarget

一个提供变形目标以进行混合形状动画的类。More_

PySide6.Qt3DAnimation.Qt3DAnimation.QMorphTarget 的继承图

概要

属性

方法

信号

静态函数

注意

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

详细描述

QMorphTarget 类是一个便利类,它提供了一个 QAttributes 列表,QMorphingAnimation 使用这些属性来动画化几何体。一个 QMorphTarget 也可以基于现有的 QGeometry 创建。

注意

当使用from __feature__ import true_property时,属性可以直接使用,否则通过访问器函数使用。

property attributeNamesᅟ: list of strings

保存包含在变形目标中的属性名称列表。

Access functions:
__init__([parent=None])
Parameters:

父对象QObject

使用给定的parent构造一个QMorphTarget

addAttribute(attribute)
Parameters:

属性QAttribute

向变形目标添加一个attribute。之前不能向变形目标添加过同名的属性。

attributeList()
Return type:

Qt3DCore.QAttribute 的列表

返回包含在变形目标中的属性列表。

attributeNames()
Return type:

字符串列表

属性 attributeNamesᅟ 的获取器。

attributeNamesChanged(attributeNames)
Parameters:

attributeNames – 字符串列表

属性 attributeNamesᅟ 的通知信号。

static fromGeometry(geometry, attributes)
Parameters:
  • geometryQGeometry

  • attributes – 字符串列表

Return type:

QMorphTarget

返回基于给定geometry中的attributes的变形目标。

removeAttribute(attribute)
Parameters:

属性QAttribute

从变形目标中移除一个attribute

setAttributes(attributes)
Parameters:

attributes – .Qt3DCore.QAttribute 的列表

设置attributes到变形目标。旧的属性被清除。

class QKeyFrame

用于处理关键帧的基类。More_

概要

方法

注意

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

详细描述

class InterpolationType
__init__()
__init__(coords)
Parameters:

coordsQVector2D

__init__(coords, lh, rh)
Parameters:
coordinates()
Return type:

QVector2D

interpolationType()
Return type:

InterpolationType

leftControlPoint()
Return type:

QVector2D

__ne__(rhs)
Parameters:

rhsQKeyFrame

Return type:

布尔

__eq__(rhs)
Parameters:

rhsQKeyFrame

Return type:

布尔

rightControlPoint()
Return type:

QVector2D

setCoordinates(coords)
Parameters:

coordsQVector2D

setInterpolationType(interp)
Parameters:

interpInterpolationType

setLeftControlPoint(lh)
Parameters:

lhQVector2D

setRightControlPoint(rh)
Parameters:

rhQVector2D

class QClock

PySide6.Qt3DAnimation.Qt3DAnimation.QClock 的继承图

概要

属性

方法

信号

注意

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

详细描述

注意

当使用from __feature__ import true_property时,属性可以直接使用,否则通过访问器函数使用。

property playbackRateᅟ: float
Access functions:
__init__([parent=None])
Parameters:

parentQNode

playbackRate()
Return type:

浮点数

属性 playbackRateᅟ 的获取器。

playbackRateChanged(playbackRate)
Parameters:

playbackRate – 浮点数

属性 playbackRateᅟ 的通知信号。

setPlaybackRate(playbackRate)
Parameters:

playbackRate – 浮点数

属性 playbackRateᅟ 的设置器。

class QChannelMapper

允许将剪辑中的通道映射到应用程序中对象的属性上。More_

PySide6.Qt3DAnimation.Qt3DAnimation.QChannelMapper 的继承图

在版本6.1中添加。

概要

方法

注意

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

详细描述

__init__([parent=None])
Parameters:

parentQNode

addMapping(mapping)
Parameters:

映射QAbstractChannelMapping

mappings()
Return type:

Qt3DAnimation.QAbstractChannelMapping 的列表

removeMapping(mapping)
Parameters:

映射QAbstractChannelMapping

class QChannelComponent

概要

方法

注意

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

详细描述

__init__()
__init__(name)
Parameters:

name – str

__init__(arg__1)
Parameters:

arg__1QChannelComponent

appendKeyFrame(kf)
Parameters:

kfQKeyFrame

begin()
Return type:

QKeyFrame

cbegin()
Return type:

QKeyFrame

cend()
Return type:

QKeyFrame

clearKeyFrames()
end()
Return type:

QKeyFrame

insertKeyFrame(index, kf)
Parameters:
keyFrameCount()
Return type:

整数

name()
Return type:

字符串

removeKeyFrame(index)
Parameters:

索引 – int

setName(name)
Parameters:

name – str

class QChannel

定义了一个用于QAnimationClipData的通道。动画系统会独立地插值每个通道组件,除非QChannel被称为“Rotation”(区分大小写),它有四个QChannelComponents,并且每个QChannelComponent有相同数量的关键帧。在这种情况下,插值将使用SLERP进行。More_

概要

方法

注意

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

详细描述

__init__()
__init__(name)
Parameters:

name – str

__init__(arg__1)
Parameters:

arg__1QChannel

appendChannelComponent(component)
Parameters:

组件QChannelComponent

begin()
Return type:

QChannelComponent

cbegin()
Return type:

QChannelComponent

cend()
Return type:

QChannelComponent

channelComponentCount()
Return type:

整数

clearChannelComponents()
end()
Return type:

QChannelComponent

insertChannelComponent(index, component)
Parameters:
jointIndex()
Return type:

整数

name()
Return type:

字符串

removeChannelComponent(index)
Parameters:

索引 – int

setJointIndex(jointIndex)
Parameters:

jointIndex – int

setName(name)
Parameters:

name – str

class QAnimationGroup

一个将动画组合在一起的类。More_

PySide6.Qt3DAnimation.Qt3DAnimation.QAnimationGroup 的继承图

概要

属性

方法

插槽

信号

注意

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

详细描述

QAnimationGroup 类用于将多个动画组合在一起,使它们可以作为一个动画运行。设置到组的位置也会设置到组中的所有动画。持续时间是各个动画的最大值。动画可以是任何支持的动画类型,并且不必具有相同的名称。

注意

当使用from __feature__ import true_property时,属性可以直接使用,否则通过访问器函数使用。

property durationᅟ: float

保存组中动画的最大持续时间。

Access functions:
property nameᅟ: str

保存动画组的名称。

Access functions:
property positionᅟ: float

保持动画位置。

Access functions:
__init__([parent=None])
Parameters:

父对象QObject

使用parent构造一个QAnimationGroup

addAnimation(animation)
Parameters:

动画QAbstractAnimation

向组中添加新的animation

animationList()
Return type:

Qt3DAnimation.QAbstractAnimation 的列表

返回组中的动画列表。

duration()
Return type:

浮点数

属性 durationᅟ 的获取器。

durationChanged(duration)
Parameters:

duration – 浮点数

属性 durationᅟ 的通知信号。

name()
Return type:

字符串

另请参阅

setName()

获取属性 nameᅟ 的Getter。

nameChanged(name)
Parameters:

name – str

属性 nameᅟ 的通知信号。

position()
Return type:

浮点数

另请参阅

setPosition()

属性 positionᅟ 的获取器。

positionChanged(position)
Parameters:

位置 – 浮点数

属性 positionᅟ 的通知信号。

removeAnimation(animation)
Parameters:

动画QAbstractAnimation

从组中移除animation

setAnimations(animations)
Parameters:

动画 – .Qt3DAnimation.QAbstractAnimation 的列表

animations设置到组中。旧的动画将被移除。

setName(name)
Parameters:

name – str

另请参阅

name()

属性 nameᅟ 的设置器。

setPosition(position)
Parameters:

位置 – 浮点数

另请参阅

position()

属性 positionᅟ 的设置器。

class QAnimationController

用于动画的控制器类。More_

PySide6.Qt3DAnimation.Qt3DAnimation.QAnimationController 的继承图

概要

属性

方法

插槽

信号

注意

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

详细描述

QAnimationController 类控制动画的选择和播放。该类可用于从 QEntity 树中查找所有动画,并从具有相同名称的动画创建 QAnimationGroups。用户可以通过设置活动动画来选择当前由动画控制器控制的动画组。然后,通过使用 positionScalepositionOffset 值对提供的位置值进行缩放和偏移,将动画位置传播到该组。

注意

动画控制器没有内部计时器,而是由用户负责及时更新位置属性。

注意

当使用from __feature__ import true_property时,属性可以直接使用,否则通过访问器函数使用。

property activeAnimationGroupᅟ: int

保存当前活动的动画组。

Access functions:
property entityᅟ: QEntity

保存从中收集和分组实体动画的控制器。如果控制器已经保存了动画,它们将被清除。

Access functions:
property positionᅟ: float

保存动画的当前位置。当设置位置时,它会使用positionScale / positionOffset进行缩放和偏移,并传播到活动的动画组。

Access functions:
property positionOffsetᅟ: float

保存动画的位置偏移量。

Access functions:
property positionScaleᅟ: float

保持动画的位置比例。

Access functions:
property recursiveᅟ: bool

控制是否在从实体收集动画时递归搜索实体树。如果设置为true,则还会从实体的子实体中搜索动画。如果设置为false,则仅搜索传递给控制器的实体。

Access functions:
__init__([parent=None])
Parameters:

父对象QObject

使用parent构造一个新的QAnimationController

activeAnimationGroup()
Return type:

整数

属性 activeAnimationGroupᅟ 的获取器。

activeAnimationGroupChanged(index)
Parameters:

索引 – int

属性 activeAnimationGroupᅟ 的通知信号。

addAnimationGroup(animationGroups)
Parameters:

animationGroupsQAnimationGroup

将给定的 animationGroup 添加到控制器中。

animationGroupList()
Return type:

Qt3DAnimation.QAnimationGroup 的列表

返回控制器当前持有的动画组列表。

entity()
Return type:

QEntity

另请参阅

setEntity()

属性 entityᅟ 的获取器。

entityChanged(entity)
Parameters:

实体QEntity

属性 entityᅟ 的通知信号。

getAnimationIndex(name)
Parameters:

name – str

Return type:

整数

返回具有name的动画的索引。如果未找到具有给定名称的AnimationGroup,则返回-1。

getGroup(index)
Parameters:

索引 – int

Return type:

QAnimationGroup

返回具有给定indexAnimationGroup

position()
Return type:

浮点数

另请参阅

setPosition()

属性 positionᅟ 的获取器。

positionChanged(position)
Parameters:

位置 – 浮点数

属性 positionᅟ 的通知信号。

positionOffset()
Return type:

浮点数

另请参阅

setPositionOffset()

属性 positionOffsetᅟ 的获取器。

positionOffsetChanged(offset)
Parameters:

offset – 浮点数

属性 positionOffsetᅟ 的通知信号。

positionScale()
Return type:

浮点数

另请参阅

setPositionScale()

属性 positionScaleᅟ 的获取器。

positionScaleChanged(scale)
Parameters:

scale – 浮点数

属性 positionScaleᅟ 的通知信号。

recursive()
Return type:

布尔

另请参阅

setRecursive()

属性 recursiveᅟ 的获取器。

recursiveChanged(recursive)
Parameters:

recursive – 布尔值

属性 recursiveᅟ 的通知信号。

removeAnimationGroup(animationGroups)
Parameters:

animationGroupsQAnimationGroup

从控制器中移除给定的 animationGroup

setActiveAnimationGroup(index)
Parameters:

索引 – int

另请参阅

activeAnimationGroup()

属性 activeAnimationGroupᅟ 的设置器。

setAnimationGroups(animationGroups)
Parameters:

animationGroups – Qt3DAnimation.QAnimationGroup 的列表

设置控制器的animationGroups。旧组将被清除。

setEntity(entity)
Parameters:

实体QEntity

另请参阅

entity()

属性 entityᅟ 的设置器。

setPosition(position)
Parameters:

位置 – 浮点数

另请参阅

position()

属性 positionᅟ 的设置器。

setPositionOffset(offset)
Parameters:

offset – 浮点数

另请参阅

positionOffset()

属性 positionOffsetᅟ 的设置器。

setPositionScale(scale)
Parameters:

scale – 浮点数

另请参阅

positionScale()

属性 positionScaleᅟ 的设置器。

setRecursive(recursive)
Parameters:

recursive – 布尔值

另请参阅

recursive()

属性 recursiveᅟ 的设置器。

class QAnimationClipData

包含动画数据的类。More_

在版本6.1中添加。

概要

方法

注意

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

详细描述

__init__()
__init__(arg__1)
Parameters:

arg__1QAnimationClipData

appendChannel(c)
Parameters:

cQChannel

begin()
Return type:

QChannel

cbegin()
Return type:

QChannel

cend()
Return type:

QChannel

channelCount()
Return type:

整数

clearChannels()
end()
Return type:

QChannel

insertChannel(index, c)
Parameters:
isValid()
Return type:

布尔

name()
Return type:

字符串

__ne__(rhs)
Parameters:

rhsQAnimationClipData

Return type:

布尔

__eq__(rhs)
Parameters:

rhsQAnimationClipData

Return type:

布尔

removeChannel(index)
Parameters:

索引 – int

setName(name)
Parameters:

name – str

class QAnimationCallback

表示一个动画回调对象。More_

概要

虚拟方法

注意

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

详细描述

class Flag

(继承自 enum.Flag) 用于指示如何调用 valueChanged() 函数的标志。

常量

描述

Qt3DAnimation.QAnimationCallback.OnOwningThread

回调函数在拥有(GUI或主)线程上调用。

Qt3DAnimation.QAnimationCallback.OnThreadPool

回调函数在线程池的工作线程上调用。

abstract valueChanged(value)
Parameters:

– 对象

回调函数,当动画的value发生变化时触发。

另请参阅

setCallback()

class QAnimationAspect

为Qt 3D提供关键帧动画功能。More_

PySide6.Qt3DAnimation.Qt3DAnimation.QAnimationAspect 的继承图

概要

方法

注意

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

详细描述

QAnimationAspect 为 Qt 3D 提供了关键帧动画。

__init__([parent=None])
Parameters:

父对象QObject

使用parent构造一个新的QAnimationAspect

class QAbstractClipBlendNode

QAbstractClipBlendNode 是用于构建动画混合树的类型的基类。More_

PySide6.Qt3DAnimation.Qt3DAnimation.QAbstractClipBlendNode 的继承图

继承自: QLerpClipBlend, QClipBlendValue, QAdditiveClipBlend

概要

方法

注意

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

详细描述

动画混合树与QBlendedClipAnimator一起使用,以动态地将一组动画片段混合在一起。动画片段混合的方式由混合树的结构及其包含节点的属性控制。

混合树中的叶节点是输入动画剪辑的容器。这些剪辑可以是通过QAnimationClipLoader从文件中读取的烘焙剪辑,也可以是您使用QAnimatitonClip和QAnimationClipData在应用程序中构建的剪辑。要将剪辑包含在混合树中,请将其包装在QClipBlendValue节点中。

混合树的内部节点表示将应用于其参数的混合操作,这些参数包含输入剪辑或其他混合树节点的整个子树。

目前,Qt 3D 动画模块提供了以下混合树节点类型:

未来将添加代表其他混合操作的额外节点类型。

另请参阅

QBlendedClipAnimator

__init__([parent=None])
Parameters:

parentQNode

class QLerpClipBlend

基于归一化因子对两个动画片段进行线性插值。More_

PySide6.Qt3DAnimation.Qt3DAnimation.QLerpClipBlend 的继承图

概要

属性

方法

插槽

信号

注意

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

详细描述

QLerpClipBlend 可以用于基于单个动画片段创建高级动画效果。例如,给定一个玩家角色,可以使用线性插值混合将行走动画片段与受伤动画片段结合,基于一个混合因子,该因子随着玩家受伤程度的增加而增加。这样,当混合因子 == 0 时,玩家将表现为未受伤的行走状态,当混合因子 == 1 时,玩家将表现为完全受伤状态,当混合因子 == 0.5 时,玩家将表现为部分行走和部分受伤状态。

另请参阅

QBlendedClipAnimator

注意

当使用from __feature__ import true_property时,属性可以直接使用,否则通过访问器函数使用。

property blendFactorᅟ: float

指定0到1之间的混合因子,用于控制两个动画剪辑的混合。

Access functions:
property endClipᅟ: QAbstractClipBlendNode

保存应作为此lerp混合节点的起始剪辑的子树。即,当blendFactor设置为1时,此混合节点返回的剪辑。

Access functions:
property startClipᅟ: QAbstractClipBlendNode

保存应作为此lerp混合节点的起始剪辑的子树。即,当blendFactor设置为0时,此混合节点返回的剪辑。

Access functions:
__init__([parent=None])
Parameters:

parentQNode

blendFactor()
Return type:

浮点数

另请参阅

setBlendFactor()

属性 blendFactorᅟ 的获取器。

blendFactorChanged(blendFactor)
Parameters:

blendFactor – 浮点数

属性 blendFactorᅟ 的通知信号。

endClip()
Return type:

QAbstractClipBlendNode

另请参阅

setEndClip()

属性 endClipᅟ 的获取器。

endClipChanged(endClip)
Parameters:

endClipQAbstractClipBlendNode

属性 endClipᅟ 的通知信号。

setBlendFactor(blendFactor)
Parameters:

blendFactor – 浮点数

另请参阅

blendFactor()

属性 blendFactorᅟ 的设置器。

setEndClip(endClip)
Parameters:

endClipQAbstractClipBlendNode

另请参阅

endClip()

属性 endClipᅟ 的设置器。

setStartClip(startClip)
Parameters:

startClipQAbstractClipBlendNode

另请参阅

startClip()

属性 startClipᅟ 的设置器。

startClip()
Return type:

QAbstractClipBlendNode

另请参阅

setStartClip()

属性 startClipᅟ 的获取器。

startClipChanged(startClip)
Parameters:

startClipQAbstractClipBlendNode

属性 startClipᅟ 的通知信号。

class QClipBlendValue

用于在混合树中包含剪辑的类。更多_

PySide6.Qt3DAnimation.Qt3DAnimation.QClipBlendValue 的继承图

概要

属性

方法

插槽

信号

注意

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

详细描述

注意

当使用from __feature__ import true_property时,属性可以直接使用,否则通过访问器函数使用。

property clipᅟ: QAbstractAnimationClip

需要包含在混合树中的动画剪辑。

Access functions:
__init__([parent=None])
Parameters:

parentQNode

__init__(clip[, parent=None])
Parameters:
clip()
Return type:

QAbstractAnimationClip

另请参阅

setClip()

属性 clipᅟ 的获取器。

clipChanged(clip)
Parameters:

剪辑QAbstractAnimationClip

属性 clipᅟ 的通知信号。

setClip(clip)
Parameters:

剪辑QAbstractAnimationClip

另请参阅

clip()

属性 clipᅟ 的设置器。

class QAdditiveClipBlend

基于一个加法因子执行两个动画剪辑的加法混合。More_

PySide6.Qt3DAnimation.Qt3DAnimation.QAdditiveClipBlend 的继承图

概要

属性

方法

插槽

信号

注意

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

详细描述

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

  • baseClip属性设置为一个正常的行走循环动画剪辑,并且

  • additiveClip属性设置为摇头差异剪辑,

然后调整additiveFactor属性将控制additiveClip添加到baseClip上的量。这样做的效果是,当additiveFactor为零时,这个混合节点将产生原始的行走周期剪辑。当additiveFactor为1时,它将产生包括摇头动画的行走周期。

该类实现的混合操作是:

resultClip = baseClip + additiveFactor * additiveClip

没有什么阻止你在0到1范围之外使用additiveFacor属性的值,但请注意,输入动画片段可能不是以这种方式制作的,因此这样做可能没有意义。

另请参阅

QBlendedClipAnimator

注意

当使用from __feature__ import true_property时,属性可以直接使用,否则通过访问器函数使用。

property additiveClipᅟ: QAbstractClipBlendNode

此属性保存要与baseClip混合的附加剪辑。混合量由additiveFactor属性控制。

Access functions:
property additiveFactorᅟ: float

指定混合因子,通常在0到1之间,用于控制两个动画剪辑的混合。

Access functions:
property baseClipᅟ: QAbstractClipBlendNode

此属性保存基础动画剪辑。当additiveFactor为零时,baseClip也将成为此混合节点的结果剪辑。

Access functions:
__init__([parent=None])
Parameters:

parentQNode

additiveClip()
Return type:

QAbstractClipBlendNode

另请参阅

setAdditiveClip()

属性 additiveClipᅟ 的获取器。

additiveClipChanged(additiveClip)
Parameters:

additiveClipQAbstractClipBlendNode

属性 additiveClipᅟ 的通知信号。

additiveFactor()
Return type:

浮点数

另请参阅

setAdditiveFactor()

属性 additiveFactorᅟ 的获取器。

additiveFactorChanged(additiveFactor)
Parameters:

additiveFactor – 浮点数

属性 additiveFactorᅟ 的通知信号。

baseClip()
Return type:

QAbstractClipBlendNode

另请参阅

setBaseClip()

属性 baseClipᅟ 的获取器。

baseClipChanged(baseClip)
Parameters:

baseClipQAbstractClipBlendNode

属性 baseClipᅟ 的通知信号。

setAdditiveClip(additiveClip)
Parameters:

additiveClipQAbstractClipBlendNode

另请参阅

additiveClip()

属性 additiveClipᅟ 的设置器。

setAdditiveFactor(additiveFactor)
Parameters:

additiveFactor – 浮点数

另请参阅

additiveFactor()

属性 additiveFactorᅟ 的设置器。

setBaseClip(baseClip)
Parameters:

baseClipQAbstractClipBlendNode

另请参阅

baseClip()

属性 baseClipᅟ 的设置器。

class QAbstractClipAnimator

QAbstractClipAnimator 是提供动画播放功能的类型的基类。More_

PySide6.Qt3DAnimation.Qt3DAnimation.QAbstractClipAnimator 的继承图

继承者: QClipAnimator, QBlendedClipAnimator

概要

属性

方法

插槽

信号

注意

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

详细描述

QAbstractClipAnimator 的子类可以被 QEntity 聚合以提供动画功能。动画器组件提供了一个用于控制动画的接口(例如开始、停止)。每种动画器类型都需要某种形式的动画数据,例如 QAbstractAnimationClip 以及一个 QChannelMapper,它描述了动画剪辑中的通道应如何映射到您希望动画化的对象的属性上。

以下子类可用:

class Loops

保存动画应该播放的次数。

常量

描述

Qt3DAnimation.QAbstractClipAnimator.Infinite

这将持续重复循环,直到显式停止。

注意

当使用from __feature__ import true_property时,属性可以直接使用,否则通过访问器函数使用。

property channelMapperᅟ: QChannelMapper

此属性保存控制动画剪辑中的通道如何映射到目标对象属性的ChannelMapper。

Access functions:
property clockᅟ: QClock

时钟控制动画播放的速度。

Access functions:
property loopsᅟ: int

保存动画应该播放的次数。

默认值为1:动画将播放一次然后停止。

如果设置为Infinite,动画将持续重复,直到明确停止。

Access functions:
property normalizedTimeᅟ: float

此属性保存剪辑的标准化时间。

Access functions:
property runningᅟ: bool

此属性保存一个布尔值,指示动画当前是否正在运行。

Access functions:
__init__([parent=None])
Parameters:

parentQNode

channelMapper()
Return type:

QChannelMapper

另请参阅

setChannelMapper()

属性 channelMapperᅟ 的获取器。

channelMapperChanged(channelMapper)
Parameters:

channelMapperQChannelMapper

属性 channelMapperᅟ 的通知信号。

clock()
Return type:

QClock

另请参阅

setClock()

属性 clockᅟ 的获取器。

clockChanged(clock)
Parameters:

时钟QClock

属性 clockᅟ 的通知信号。

isRunning()
Return type:

布尔

返回一个布尔值,指示动画当前是否正在运行。

属性 runningᅟ 的获取器。

loopCount()
Return type:

整数

返回动画应该播放的次数。

默认值为1:动画将播放一次然后停止。

如果设置为Infinite,动画将持续重复,直到明确停止。

另请参阅

setLoopCount()

属性 loopsᅟ 的获取器。

loopCountChanged(loops)
Parameters:

循环次数 – int

属性 loopsᅟ 的通知信号。

normalizedTime()
Return type:

浮点数

另请参阅

setNormalizedTime()

属性 normalizedTimeᅟ 的获取器。

normalizedTimeChanged(index)
Parameters:

index – 浮点数

属性 normalizedTimeᅟ 的通知信号。

runningChanged(running)
Parameters:

运行中 – bool

属性 runningᅟ 的通知信号。

setChannelMapper(channelMapper)
Parameters:

channelMapperQChannelMapper

另请参阅

channelMapper()

属性 channelMapperᅟ 的设置器。

setClock(clock)
Parameters:

时钟QClock

另请参阅

clock()

属性 clockᅟ 的设置器。

setLoopCount(loops)
Parameters:

循环次数 – int

另请参阅

loopCount()

属性 loopsᅟ 的设置器。

setNormalizedTime(timeFraction)
Parameters:

timeFraction – 浮点数

另请参阅

normalizedTime()

属性 normalizedTimeᅟ 的设置器。

setRunning(running)
Parameters:

运行中 – bool

另请参阅

isRunning()

属性 runningᅟ 的设置器。

start()

开始动画。

stop()

停止动画。

class QClipAnimator

QClipAnimator 是一个提供简单动画播放功能的组件。More_

PySide6.Qt3DAnimation.Qt3DAnimation.QClipAnimator 的继承图

概要

属性

方法

插槽

信号

注意

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

详细描述

QClipAnimator 的实例可以被 QEntity 聚合,以添加播放动画剪辑并将计算的动画值应用于 QObjects 属性的能力。

动画关键帧数据通过clip属性提供。这可以通过QAnimationClip以编程方式创建,或者通过QAnimationClipLoader从文件加载。

为了应用动画剪辑中数据通道回放的值,剪辑动画器需要将一个QChannelMapper对象分配给channelMapper属性。

控制动画的属性由QAbstractClipAnimator基类提供。

注意

当使用from __feature__ import true_property时,属性可以直接使用,否则通过访问器函数使用。

property clipᅟ: QAbstractAnimationClip

此属性包含动画剪辑,该剪辑包含要播放的关键帧数据。关键帧数据可以在QAnimationClipQAnimationClipLoader中指定。

Access functions:
__init__([parent=None])
Parameters:

parentQNode

clip()
Return type:

QAbstractAnimationClip

另请参阅

setClip()

属性 clipᅟ 的获取器。

clipChanged(clip)
Parameters:

剪辑QAbstractAnimationClip

属性 clipᅟ 的通知信号。

setClip(clip)
Parameters:

剪辑QAbstractAnimationClip

另请参阅

clip()

属性 clipᅟ 的设置器。

class QBlendedClipAnimator

QBlendedClipAnimator 是一个提供混合节点树动画播放功能的组件。More_

PySide6.Qt3DAnimation.Qt3DAnimation.QBlendedClipAnimator 的继承图

概要

属性

方法

插槽

信号

注意

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

详细描述

一个QBlendedClipAnimator的实例可以被QEntity聚合,以添加播放动画剪辑并将计算出的动画值应用于QObject属性的能力。

QClipAnimator从单个动画剪辑中获取其动画数据,QBlendedClipAnimator可以混合多个剪辑。动画数据是通过评估所谓的混合树获得的。混合树是一种分层树结构,其中叶节点是封装动画剪辑的值节点(QAbstractAnimationClip);内部节点表示对其操作数属性指向的节点进行操作的混合操作。

要将混合树与QBlendedClipAnimator关联,请将动画器的blendTree属性设置为指向混合树的根节点:

auto blendTreeRoot = new QAdditiveClipBlend();
...
auto animator = new QBlendedClipAnimator();
animator->setBlendTree(blendTreeRoot);

混合树可以由以下节点类型构建:

注意

混合节点树应仅在动画器未运行时进行编辑。

随着时间的推移,将添加更多的节点类型。

作为一个例子,考虑以下混合树:

Clip0----
        |
        Lerp Node----
        |           |
Clip1----           Additive Node
                    |
            Clip2----

这可以按以下方式创建和使用:

// Create leaf nodes of blend tree
auto clip0 = new QClipBlendValue(
    new QAnimationClipLoader(QUrl::fromLocalFile("walk.json")));
auto clip1 = new QClipBlendValue(
    new QAnimationClipLoader(QUrl::fromLocalFile("run.json")));
auto clip2 = new QClipBlendValue(
    new QAnimationClipLoader(QUrl::fromLocalFile("wave-arm.json")));

// Create blend tree inner nodes
auto lerpNode = new QLerpClipBlend();
lerpNode->setStartClip(clip0);
lerpNode->setEndClip(clip1);
lerpNode->setBlendFactor(0.5f); // Half-walk, half-run

auto additiveNode = new QAdditiveClipBlend();
additiveNode->setBaseClip(lerpNode); // Comes from lerp sub-tree
additiveNode->setAdditiveClip(clip2);
additiveNode->setAdditiveFactor(1.0f); // Wave arm fully

// Run the animator
auto animator = new QBlendedClipAnimator();
animator->setBlendTree(additiveNode);
animator->setChannelMapper(...);
animator->setRunning(true);

通过创作一组动画剪辑并在运行时使用混合树动态地在它们之间进行混合,我们打开了大量可能的最终动画。作为上述混合树的一些简单示例,其中alpha是加法因子,beta是lerp混合因子,我们可以得到一个2D连续体的可能动画:

(alpha = 0, beta = 1) Running, No arm waving --- (alpha = 1, beta = 1) Running, Arm waving
        |                                               |
        |                                               |
        |                                               |
(alpha = 0, beta = 0) Walking, No arm waving --- (alpha = 0, beta = 1) Running, No arm waving

更复杂的混合树为组合您的动画剪辑提供了更大的灵活性。请注意,用于控制混合树的值(上面的alpha和beta)是混合节点上的简单属性。这意味着,这些属性本身也可以由动画框架控制。

注意

当使用from __feature__ import true_property时,属性可以直接使用,否则通过访问器函数使用。

property blendTreeᅟ: QAbstractClipBlendNode

此属性保存动画混合树的根,该树将在由动画器插值之前进行评估。

Access functions:
__init__([parent=None])
Parameters:

parentQNode

blendTree()
Return type:

QAbstractClipBlendNode

另请参阅

setBlendTree()

属性 blendTreeᅟ 的获取器。

blendTreeChanged(blendTree)
Parameters:

blendTreeQAbstractClipBlendNode

属性 blendTreeᅟ 的通知信号。

setBlendTree(blendTree)
Parameters:

blendTreeQAbstractClipBlendNode

另请参阅

blendTree()

属性 blendTreeᅟ 的设置器。

class QAbstractChannelMapping

PySide6.Qt3DAnimation.Qt3DAnimation.QAbstractChannelMapping 的继承图

继承者: QSkeletonMapping, QChannelMapping, QCallbackMapping

注意

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

详细描述

class QSkeletonMapping

PySide6.Qt3DAnimation.Qt3DAnimation.QSkeletonMapping 的继承图

概要

属性

方法

插槽

信号

注意

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

详细描述

注意

当使用from __feature__ import true_property时,属性可以直接使用,否则通过访问器函数使用。

property skeletonᅟ: QAbstractSkeleton
Access functions:
__init__([parent=None])
Parameters:

parentQNode

setSkeleton(skeleton)
Parameters:

骨架QAbstractSkeleton

属性 skeletonᅟ 的设置器。

skeleton()
Return type:

QAbstractSkeleton

属性 skeletonᅟ 的获取器。

skeletonChanged(skeleton)
Parameters:

骨架QAbstractSkeleton

属性 skeletonᅟ 的通知信号。

class QChannelMapping

允许将剪辑中的通道映射到应用程序中对象的属性上。More_

PySide6.Qt3DAnimation.Qt3DAnimation.QChannelMapping 的继承图

概要

属性

方法

插槽

信号

注意

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

详细描述

注意

当使用from __feature__ import true_property时,属性可以直接使用,否则通过访问器函数使用。

property channelNameᅟ: str
Access functions:
property propertyᅟ: str
Access functions:
property targetᅟ: QNode
Access functions:
__init__([parent=None])
Parameters:

parentQNode

channelName()
Return type:

字符串

另请参阅

setChannelName()

属性 channelNameᅟ 的获取器。

channelNameChanged(channelName)
Parameters:

channelName – str

属性 channelNameᅟ 的通知信号。

property()
Return type:

字符串

另请参阅

setProperty()

属性 propertyᅟ 的获取器。

propertyChanged(property)
Parameters:

property – str

属性 propertyᅟ 的通知信号。

setChannelName(channelName)
Parameters:

channelName – str

另请参阅

channelName()

属性 channelNameᅟ 的设置器。

setProperty(property)
Parameters:

property – str

另请参阅

property()

属性 propertyᅟ 的设置器。

setTarget(target)
Parameters:

目标QNode

另请参阅

target()

属性 targetᅟ 的设置器。

target()
Return type:

QNode

另请参阅

setTarget()

属性 targetᅟ 的获取器。

targetChanged(target)
Parameters:

目标QNode

属性 targetᅟ 的通知信号。

class QCallbackMapping

允许将剪辑中的通道映射到回调对象的调用上。More_

PySide6.Qt3DAnimation.Qt3DAnimation.QCallbackMapping 的继承图

概要

属性

方法

插槽

信号

注意

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

详细描述

注意

当使用from __feature__ import true_property时,属性可以直接使用,否则通过访问器函数使用。

property channelNameᅟ: str
Access functions:
__init__([parent=None])
Parameters:

parentQNode

callback()
Return type:

QAnimationCallback

channelName()
Return type:

字符串

另请参阅

setChannelName()

属性 channelNameᅟ 的获取器。

channelNameChanged(channelName)
Parameters:

channelName – str

属性 channelNameᅟ 的通知信号。

setCallback(type, callback[, flags=Qt3DAnimation.QAnimationCallback.OnOwningThread])
Parameters:

将一个callback对象与此通道映射关联。

这样的映射不一定需要有一个目标对象和属性名。当设置了callback对象时,动画值的每一次变化都会导致调用回调的valueChanged函数,无论是在gui/main线程上,还是直接在线程池的一个工作线程上。这是由flags控制的。

type 指定动画值的类型(例如,QMetaType::QVector3D、QMetaType::QColor 或 QMetaType::Float)。在动画节点属性时,不需要单独提供此信息,但在只有回调时,提供此信息变得非常重要。

注意

映射可以与节点属性和回调相关联。然而,在这种情况下,重要的是type与属性的类型匹配。还要注意,对于类型为QVariant的属性(例如,QParameter::value),type是存储在QVariant中的值的类型。

注意

当任何关联的动画器正在运行时,callback 指针预计保持有效。

setChannelName(channelName)
Parameters:

channelName – str

另请参阅

channelName()

属性 channelNameᅟ 的设置器。

class QAbstractAnimationClip

QAbstractAnimationClip 是提供关键帧动画数据类型的基类。More_

PySide6.Qt3DAnimation.Qt3DAnimation.QAbstractAnimationClip 的继承图

继承者: QAnimationClipLoader, QAnimationClip

概要

属性

方法

信号

注意

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

详细描述

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

QAnimationClip 应该在你想要在应用程序中以编程方式创建动画数据时使用。实际数据是通过 QAnimationClipData 值类型设置的。

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

一旦使用上述方法将动画剪辑填充了数据,Qt 3D Animation 后端将更新只读的 duration 属性。

动画剪辑的典型用法是:

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

注意

当使用from __feature__ import true_property时,属性可以直接使用,否则通过访问器函数使用。

property durationᅟ: float

保存动画剪辑的持续时间,单位为秒。一旦使用具体的子类之一将动画数据提供给Qt 3D,此值将被更新。

Access functions:
duration()
Return type:

浮点数

属性 durationᅟ 的获取器。

durationChanged(duration)
Parameters:

duration – 浮点数

属性 durationᅟ 的通知信号。

class QAnimationClipLoader

启用从文件加载关键帧动画数据。More_

PySide6.Qt3DAnimation.Qt3DAnimation.QAnimationClipLoader 的继承图

概要

属性

方法

插槽

信号

注意

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

详细描述

class Status

此枚举标识动画剪辑的状态。

常量

描述

Qt3DAnimation.QAnimationClipLoader.NotReady

剪辑尚未加载

Qt3DAnimation.QAnimationClipLoader.Ready

剪辑已成功加载

Qt3DAnimation.QAnimationClipLoader.Error

加载剪辑时发生错误

注意

当使用from __feature__ import true_property时,属性可以直接使用,否则通过访问器函数使用。

property sourceᅟ: QUrl

保存从中加载动画剪辑的源URL。目前支持glTF2和原生的Qt 3D json动画文件格式。

在文件包含多个动画的情况下,可以通过源URL上的查询参数选择应加载的动画。接受的查询参数是animationIndex和animationName。如果两者都指定,则忽略animationName。

如果文件只包含一个动画,则无需指定animationIndex或animationName。我们只需使用可用的动画。

Access functions:
property statusᅟ: Qt3DAnimation.QAnimationClipLoader.Status

此属性包含动画剪辑的状态。

Access functions:
__init__([parent=None])
Parameters:

parentQNode

__init__(source[, parent=None])
Parameters:
  • sourceQUrl

  • parentQNode

setSource(source)
Parameters:

sourceQUrl

另请参阅

source()

属性 sourceᅟ 的设置器。

source()
Return type:

QUrl

另请参阅

setSource()

属性 sourceᅟ 的获取器。

sourceChanged(source)
Parameters:

sourceQUrl

属性 sourceᅟ 的通知信号。

status()
Return type:

状态

返回动画剪辑的状态。

属性 statusᅟ 的获取器。

statusChanged(status)
Parameters:

状态Status

属性 statusᅟ 的通知信号。

class QAnimationClip

指定关键帧动画数据。More_

PySide6.Qt3DAnimation.Qt3DAnimation.QAnimationClip 的继承图

概要

属性

方法

插槽

信号

注意

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

详细描述

注意

当使用from __feature__ import true_property时,属性可以直接使用,否则通过访问器函数使用。

property clipDataᅟ: QAnimationClipData
Access functions:
__init__([parent=None])
Parameters:

parentQNode

clipData()
Return type:

QAnimationClipData

返回描述动画剪辑的数据。

另请参阅

setClipData()

属性 clipDataᅟ 的获取器。

clipDataChanged(clipData)
Parameters:

clipDataQAnimationClipData

属性 clipDataᅟ 的通知信号。

setClipData(clipData)
Parameters:

clipDataQAnimationClipData

根据提供的clipData设置剪辑的参数。

另请参阅

clipData()

属性 clipDataᅟ 的设置器。

class QAbstractAnimation

Qt3D动画的抽象基类。更多_

PySide6.Qt3DAnimation.Qt3DAnimation.QAbstractAnimation 的继承图

继承自: QVertexBlendAnimation, QMorphingAnimation, QKeyframeAnimation

概要

属性

方法

插槽

信号

注意

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

详细描述

QAbstractAnimation 是所有动画的抽象基类。QAbstractAnimation 不能直接实例化,而是通过其子类实例化。QAbstractAnimation 为所有 Qt3D 动画指定了通用属性,例如动画名称和类型、当前位置和动画持续时间,而将实际的动画实现留给子类。

class AnimationType

此枚举指定动画的类型

常量

描述

Qt3DAnimation.QAbstractAnimation.KeyframeAnimation

QTransform的简单关键帧动画实现

Qt3DAnimation.QAbstractAnimation.MorphingAnimation

混合形状变形动画

Qt3DAnimation.QAbstractAnimation.VertexBlendAnimation

顶点混合动画

注意

当使用from __feature__ import true_property时,属性可以直接使用,否则通过访问器函数使用。

property animationNameᅟ: str

保存动画的名称。

Access functions:
property animationTypeᅟ: Qt3DAnimation.QAbstractAnimation.AnimationType

保存动画的类型。

Access functions:
property durationᅟ: float

保存动画的持续时间。

Access functions:
property positionᅟ: float

保存动画的当前位置。

Access functions:
animationName()
Return type:

字符串

另请参阅

setAnimationName()

属性 animationNameᅟ 的获取器。

animationNameChanged(name)
Parameters:

name – str

属性 animationNameᅟ 的通知信号。

animationType()
Return type:

AnimationType

属性 animationTypeᅟ 的获取器。

duration()
Return type:

浮点数

另请参阅

setDuration()

属性 durationᅟ 的获取器。

durationChanged(duration)
Parameters:

duration – 浮点数

属性 durationᅟ 的通知信号。

position()
Return type:

浮点数

另请参阅

setPosition()

属性 positionᅟ 的获取器。

positionChanged(position)
Parameters:

位置 – 浮点数

属性 positionᅟ 的通知信号。

setAnimationName(name)
Parameters:

name – str

另请参阅

animationName()

属性 animationNameᅟ 的设置器。

setDuration(duration)
Parameters:

duration – 浮点数

设置动画的duration

另请参阅

duration()

setPosition(position)
Parameters:

位置 – 浮点数

另请参阅

position()

属性 positionᅟ 的设置器。

class QVertexBlendAnimation

一个实现顶点混合变形动画的类。更多_

PySide6.Qt3DAnimation.Qt3DAnimation.QVertexBlendAnimation 的继承图

概要

属性

方法

插槽

信号

注意

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

详细描述

一个QVertexBlendAnimation类实现了顶点混合变形动画到一个目标QGeometryRendererQVertexBlendAnimationmorph targets设置正确的QAttributes到目标geometry,并计算当前位置的插值器。与QMorphingAnimation不同,后者通过混合权重控制混合,而混合发生在连续的变形目标之间。属性之间的实际混合必须在材质中实现。Qt3DAnimation::QMorphPhongMaterial实现了支持Phong光照模型的变形材质。混合发生在两个属性之间 - 'base'和'target'。基础和目标属性的名称取自变形目标名称,其中基础属性保留其已有的名称,目标属性名称则在名称后附加'Target'。插值器可以作为QParameter设置到使用的材质中。动画中的所有变形目标应包含与基础几何体中相同名称的属性。

注意

当使用from __feature__ import true_property时,属性可以直接使用,否则通过访问器函数使用。

property interpolatorᅟ: float

保存基础属性和目标属性之间的插值器。

Access functions:
property targetᅟ: QGeometryRenderer

保存应用变形动画的目标QGeometryRenderer。

Access functions:
property targetNameᅟ: str

保存目标几何体的名称。这是一个便利属性,使得更容易将目标几何体与变形动画匹配。名称通常与目标QGeometryRenderer的父实体的名称相同,但不必如此。

Access functions:
property targetPositionsᅟ: list of float

保存变形目标的位置值。列表中的每个位置指定具有相同索引的相应变形目标的位置。值必须按升序排列。值可以是正数或负数,并且没有任何预定义的单位。

Access functions:
__init__([parent=None])
Parameters:

父对象QObject

使用parent构造一个新的QVertexBlendAnimation

addMorphTarget(target)
Parameters:

目标QMorphTarget

在动画结束时添加新的变形 target

interpolator()
Return type:

浮点数

属性 interpolatorᅟ 的获取器。

interpolatorChanged(interpolator)
Parameters:

插值器 – 浮点数

属性 interpolatorᅟ 的通知信号。

morphTargetList()
Return type:

Qt3DAnimation.QMorphTarget 的列表

返回形态目标列表。

removeMorphTarget(target)
Parameters:

目标QMorphTarget

从动画中移除形态 target

setMorphTargets(targets)
Parameters:

targets – .Qt3DAnimation.QMorphTarget 的列表

将变形 targets 设置为动画。旧的目标将被清除。

setTarget(target)
Parameters:

目标QGeometryRenderer

另请参阅

target()

属性 targetᅟ 的设置器。

setTargetName(name)
Parameters:

name – str

另请参阅

targetName()

属性 targetNameᅟ 的设置器。

setTargetPositions(targetPositions)
Parameters:

targetPositions – .浮点数列表

另请参阅

targetPositions()

属性 targetPositionsᅟ 的设置器。

target()
Return type:

QGeometryRenderer

另请参阅

setTarget()

属性 targetᅟ 的获取器。

targetChanged(target)
Parameters:

目标QGeometryRenderer

属性 targetᅟ 的通知信号。

targetName()
Return type:

字符串

另请参阅

setTargetName()

属性 targetNameᅟ 的获取器。

targetNameChanged(name)
Parameters:

name – str

属性 targetNameᅟ 的通知信号。

targetPositions()
Return type:

浮点数列表

另请参阅

setTargetPositions()

属性 targetPositionsᅟ 的获取器。

targetPositionsChanged(targetPositions)
Parameters:

targetPositions – 浮点数列表

属性 targetPositionsᅟ 的通知信号。

class QMorphingAnimation

一个实现混合形状变形动画的类。More_

PySide6.Qt3DAnimation.Qt3DAnimation.QMorphingAnimation 的继承图

概要

属性

方法

插槽

信号

注意

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

详细描述

一个QMorphingAnimation类实现了对目标QGeometryRenderer的混合形状变形动画。QMorphingAnimationmorph targets设置正确的QAttributes到目标geometry,并计算当前位置的插值器。属性之间的实际混合必须在材质中实现。Qt3DAnimation::QMorphPhongMaterial实现了支持Phong光照模型的变形材质。混合发生在两个属性之间 - 'base'和'target'。基础和目标属性的名称取自变形目标名称,其中基础属性保留其已有的名称,目标属性名称则在名称后附加'Target'。插值器可以作为QParameter设置到使用的材质中。动画中的所有变形目标应包含与基础几何体中相同名称的属性。

class Method

此枚举指定了变形方法。

常量

描述

Qt3DAnimation.QMorphingAnimation.Normalized

混合应使用归一化公式;V’ = Vbase * (1.0 - sum(Wi)) + sum[Vi * Wi]

Qt3DAnimation.QMorphingAnimation.Relative

混合应使用相对公式;V’ = Vbase + sum[Vi * Wi]

注意

当使用from __feature__ import true_property时,属性可以直接使用,否则通过访问器函数使用。

property easingᅟ: QEasingCurve

保存变形目标之间插值器的缓动曲线。

Access functions:
property interpolatorᅟ: float

保存基础属性和目标属性之间的插值器。

Access functions:
property methodᅟ: Qt3DAnimation.QMorphingAnimation.Method

保存变形方法。默认是Relative。

Access functions:
property targetᅟ: QGeometryRenderer

保存应用变形动画的目标QGeometryRenderer。

Access functions:
property targetNameᅟ: str

保存目标几何体的名称。这是一个便利属性,使得更容易将目标几何体与变形动画匹配。名称通常与目标QGeometryRenderer的父实体的名称相同,但不必如此。

Access functions:
property targetPositionsᅟ: list of float

保存变形目标的位置值。列表中的每个位置指定具有相同索引的相应变形目标的位置。值必须按升序排列。值可以是正数或负数,并且没有任何预定义的单位。

Access functions:
__init__([parent=None])
Parameters:

父对象QObject

使用parent构造一个新的QMorphingAnimation

addMorphTarget(target)
Parameters:

目标QMorphTarget

在动画结束时添加新的变形 target

easing()
Return type:

QEasingCurve

另请参阅

setEasing()

属性 easingᅟ 的获取器。

easingChanged(easing)
Parameters:

easingQEasingCurve

属性 easingᅟ 的通知信号。

getWeights(positionIndex)
Parameters:

positionIndex – int

Return type:

浮点数列表

返回在positionIndex处的形态权重。

interpolator()
Return type:

浮点数

属性 interpolatorᅟ 的获取器。

interpolatorChanged(interpolator)
Parameters:

插值器 – 浮点数

属性 interpolatorᅟ 的通知信号。

method()
Return type:

方法

另请参阅

setMethod()

属性 methodᅟ 的获取器。

methodChanged(method)
Parameters:

方法Method

属性 methodᅟ 的通知信号。

morphTargetList()
Return type:

Qt3DAnimation.QMorphTarget 的列表

返回形态目标列表。

removeMorphTarget(target)
Parameters:

目标QMorphTarget

从动画中移除形态 target

setEasing(easing)
Parameters:

easingQEasingCurve

另请参阅

easing()

属性 easingᅟ 的设置器。

setMethod(method)
Parameters:

方法Method

另请参阅

method()

属性 methodᅟ 的设置器。

setMorphTargets(targets)
Parameters:

targets – .Qt3DAnimation.QMorphTarget 的列表

将变形 targets 设置为动画。旧的目标将被清除。

setTarget(target)
Parameters:

目标QGeometryRenderer

另请参阅

target()

属性 targetᅟ 的设置器。

setTargetName(name)
Parameters:

name – str

另请参阅

targetName()

属性 targetNameᅟ 的设置器。

setTargetPositions(targetPositions)
Parameters:

targetPositions – 浮点数列表

另请参阅

targetPositions()

属性 targetPositionsᅟ 的设置器。

setWeights(positionIndex, weights)
Parameters:
  • positionIndex – int

  • weights – 浮点数列表

positionIndex处设置变形weights

target()
Return type:

QGeometryRenderer

另请参阅

setTarget()

属性 targetᅟ 的获取器。

targetChanged(target)
Parameters:

目标QGeometryRenderer

属性 targetᅟ 的通知信号。

targetName()
Return type:

字符串

另请参阅

setTargetName()

属性 targetNameᅟ 的获取器。

targetNameChanged(name)
Parameters:

name – str

属性 targetNameᅟ 的通知信号。

targetPositions()
Return type:

浮点数列表

另请参阅

setTargetPositions()

属性 targetPositionsᅟ 的获取器。

targetPositionsChanged(targetPositions)
Parameters:

targetPositions – 浮点数列表

属性 targetPositionsᅟ 的通知信号。

class QKeyframeAnimation

一个实现简单关键帧动画到QTransform的类。更多_

PySide6.Qt3DAnimation.Qt3DAnimation.QKeyframeAnimation 的继承图

概要

属性

方法

插槽

信号

注意

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

详细描述

QKeyframeAnimation 类实现了简单的关键帧动画,可用于动画化 QTransform。关键帧由多个定时的 QTransforms 组成,这些 QTransforms 被插值并应用于目标 QTransform。在关键帧之间使用 QEasingCurve 来控制插值器。当设置到 QKeyframeAnimation 的位置低于或高于关键帧位置中定义的值时,可以设置 RepeatMode

class RepeatMode

此枚举指定如何处理关键帧值之外的位置值。

常量

描述

Qt3DAnimation.QKeyframeAnimation.None

动画未应用于目标变换。

Qt3DAnimation.QKeyframeAnimation.Constant

使用边缘关键帧值。

Qt3DAnimation.QKeyframeAnimation.Repeat

动画被重复播放。

注意

当使用from __feature__ import true_property时,属性可以直接使用,否则通过访问器函数使用。

property easingᅟ: QEasingCurve

保存关键帧之间插值器的缓动曲线。

Access functions:
property endModeᅟ: Qt3DAnimation.QKeyframeAnimation.RepeatMode

保持位置值大于最后一帧位置时的重复模式。

Access functions:
property framePositionsᅟ: list of float

保存关键帧的位置。列表中的每个位置指定了具有相同索引的对应关键帧的位置。值必须按升序排列。值可以是正数或负数,并且没有任何预定义的单位。

Access functions:
property startModeᅟ: Qt3DAnimation.QKeyframeAnimation.RepeatMode

保持位置值小于第一帧位置时的重复模式。

Access functions:
property targetᅟ: QTransform

保存动画应用的目标QTransform。

Access functions:
property targetNameᅟ: str

保存目标变换的名称。这是一个便利属性,使得更容易将目标变换与关键帧动画匹配。名称通常与目标变换的父实体的名称相同,但不一定必须如此。

Access functions:
__init__([parent=None])
Parameters:

父对象QObject

使用parent构造一个QKeyframeAnimation

addKeyframe(keyframe)
Parameters:

关键帧QTransform

在动画的末尾添加新的keyframe。QTransform可以多次添加到动画中。

easing()
Return type:

QEasingCurve

另请参阅

setEasing()

属性 easingᅟ 的获取器。

easingChanged(easing)
Parameters:

easingQEasingCurve

属性 easingᅟ 的通知信号。

endMode()
Return type:

RepeatMode

另请参阅

setEndMode()

属性 endModeᅟ 的获取器。

endModeChanged(endMode)
Parameters:

endModeRepeatMode

属性 endModeᅟ 的通知信号。

framePositions()
Return type:

浮点数列表

另请参阅

setFramePositions()

属性 framePositionsᅟ 的获取器。

framePositionsChanged(positions)
Parameters:

positions – .浮点数列表

属性 framePositionsᅟ 的通知信号。

keyframeList()
Return type:

Qt3DCore.QTransform的列表

返回关键帧列表。

removeKeyframe(keyframe)
Parameters:

关键帧QTransform

从动画中移除一个keyframe。如果相同的QTransform被多次设置为关键帧,所有出现的地方都会被移除。

setEasing(easing)
Parameters:

easingQEasingCurve

另请参阅

easing()

属性 easingᅟ 的设置器。

setEndMode(mode)
Parameters:

模式RepeatMode

另请参阅

endMode()

属性 endModeᅟ 的设置器。

setFramePositions(positions)
Parameters:

positions – .浮点数列表

另请参阅

framePositions()

属性 framePositionsᅟ 的设置器。

setKeyframes(keyframes)
Parameters:

关键帧 – .Qt3DCore.QTransform 的列表

设置动画的keyframes。旧的keyframes将被清除。

setStartMode(mode)
Parameters:

modeRepeatMode

另请参阅

startMode()

属性 startModeᅟ 的设置器。

setTarget(target)
Parameters:

目标QTransform

另请参阅

target()

属性 targetᅟ 的设置器。

setTargetName(name)
Parameters:

name – str

另请参阅

targetName()

属性 targetNameᅟ 的设置器。

startMode()
Return type:

RepeatMode

另请参阅

setStartMode()

属性 startModeᅟ 的获取器。

startModeChanged(startMode)
Parameters:

startModeRepeatMode

属性 startModeᅟ 的通知信号。

target()
Return type:

QTransform

另请参阅

setTarget()

属性 targetᅟ 的获取器。

targetChanged(target)
Parameters:

目标QTransform

属性 targetᅟ 的通知信号。

targetName()
Return type:

字符串

另请参阅

setTargetName()

属性 targetNameᅟ 的获取器。

targetNameChanged(name)
Parameters:

name – str

属性 targetNameᅟ 的通知信号。