QMorphingAnimation

A class implementing blend-shape morphing animation. More

Inheritance diagram of PySide6.Qt3DAnimation.Qt3DAnimation.QMorphingAnimation

Synopsis

Functions

Slots

Signals

Detailed Description

A QMorphingAnimation class implements blend-shape morphing animation to a target QGeometryRenderer . The QMorphingAnimation sets the correct QAttributes from the morph targets to the target geometry and calculates interpolator for the current position. The actual blending between the attributes must be implemented in the material. Qt3DAnimation::QMorphPhongMaterial implements material with morphing support for phong lighting model. The blending happens between 2 attributes - ‘base’ and ‘target’. The names for the base and target attributes are taken from the morph target names, where the base attribute retains the name it already has and the target attribute name gets ‘Target’ appended to the name. The interpolator can be set as a QParameter to the used material. All morph targets in the animation should contain the attributes with same names as those in the base geometry.

class PySide6.Qt3DAnimation.Qt3DAnimation.QMorphingAnimation([parent=None])
Parameters

parentPySide6.QtCore.QObject

Construct a new QMorphingAnimation with parent.

PySide6.Qt3DAnimation.Qt3DAnimation.QMorphingAnimation.Method

This enumeration specifies the morphing method.

Constant

Description

Qt3DAnimation.QMorphingAnimation.Normalized

The blending should use the normalized formula; V’ = Vbase * (1.0 - sum(Wi)) + sum[Vi * Wi]

Qt3DAnimation.QMorphingAnimation.Relative

The blending should use the relative formula; V’ = Vbase + sum[Vi * Wi]

PySide6.Qt3DAnimation.Qt3DAnimation.QMorphingAnimation.addMorphTarget(target)
Parameters

targetPySide6.Qt3DAnimation.Qt3DAnimation.QMorphTarget

Add new morph target at the end of the animation.

PySide6.Qt3DAnimation.Qt3DAnimation.QMorphingAnimation.easing()
Return type

PySide6.QtCore.QEasingCurve

Holds the easing curve of the interpolator between morph targets.

PySide6.Qt3DAnimation.Qt3DAnimation.QMorphingAnimation.easingChanged(easing)
Parameters

easingPySide6.QtCore.QEasingCurve

PySide6.Qt3DAnimation.Qt3DAnimation.QMorphingAnimation.getWeights(positionIndex)
Parameters

positionIndex – int

Return type

Return morph weights at positionIndex.

PySide6.Qt3DAnimation.Qt3DAnimation.QMorphingAnimation.interpolator()
Return type

float

Holds the interpolator between base and target attributes.

PySide6.Qt3DAnimation.Qt3DAnimation.QMorphingAnimation.interpolatorChanged(interpolator)
Parameters

interpolator – float

PySide6.Qt3DAnimation.Qt3DAnimation.QMorphingAnimation.method()
Return type

Method

Holds the morphing method. The default is Relative.

PySide6.Qt3DAnimation.Qt3DAnimation.QMorphingAnimation.methodChanged(method)
Parameters

methodMethod

PySide6.Qt3DAnimation.Qt3DAnimation.QMorphingAnimation.morphTargetList()
Return type

Return morph target list.

PySide6.Qt3DAnimation.Qt3DAnimation.QMorphingAnimation.removeMorphTarget(target)
Parameters

targetPySide6.Qt3DAnimation.Qt3DAnimation.QMorphTarget

Remove morph target from the animation.

PySide6.Qt3DAnimation.Qt3DAnimation.QMorphingAnimation.setEasing(easing)
Parameters

easingPySide6.QtCore.QEasingCurve

Holds the easing curve of the interpolator between morph targets.

PySide6.Qt3DAnimation.Qt3DAnimation.QMorphingAnimation.setMethod(method)
Parameters

methodMethod

Holds the morphing method. The default is Relative.

PySide6.Qt3DAnimation.Qt3DAnimation.QMorphingAnimation.setMorphTargets(targets)
Parameters

targets

Set morph targets to animation. Old targets are cleared.

PySide6.Qt3DAnimation.Qt3DAnimation.QMorphingAnimation.setTarget(target)
Parameters

targetPySide6.Qt3DRender.Qt3DRender.QGeometryRenderer

Holds the target QGeometryRenderer the morphing animation is applied to.

PySide6.Qt3DAnimation.Qt3DAnimation.QMorphingAnimation.setTargetName(name)
Parameters

name – str

Holds the name of the target geometry. This is a convenience property making it easier to match the target geometry to the morphing animation. The name is usually same as the name of the parent entity of the target QGeometryRenderer, but does not have to be.

PySide6.Qt3DAnimation.Qt3DAnimation.QMorphingAnimation.setTargetPositions(targetPositions)
Parameters

targetPositions

Holds the position values of the morph target. Each position in the list specifies the position of the corresponding morph target with the same index. The values must be in an ascending order. Values can be positive or negative and do not have any predefined unit.

PySide6.Qt3DAnimation.Qt3DAnimation.QMorphingAnimation.setWeights(positionIndex, weights)
Parameters
  • positionIndex – int

  • weights

Sets morph weights at positionIndex.

PySide6.Qt3DAnimation.Qt3DAnimation.QMorphingAnimation.target()
Return type

PySide6.Qt3DRender.Qt3DRender.QGeometryRenderer

Holds the target QGeometryRenderer the morphing animation is applied to.

PySide6.Qt3DAnimation.Qt3DAnimation.QMorphingAnimation.targetChanged(target)
Parameters

targetPySide6.Qt3DRender.Qt3DRender.QGeometryRenderer

PySide6.Qt3DAnimation.Qt3DAnimation.QMorphingAnimation.targetName()
Return type

str

Holds the name of the target geometry. This is a convenience property making it easier to match the target geometry to the morphing animation. The name is usually same as the name of the parent entity of the target QGeometryRenderer, but does not have to be.

PySide6.Qt3DAnimation.Qt3DAnimation.QMorphingAnimation.targetNameChanged(name)
Parameters

name – str

PySide6.Qt3DAnimation.Qt3DAnimation.QMorphingAnimation.targetPositions()
Return type

Holds the position values of the morph target. Each position in the list specifies the position of the corresponding morph target with the same index. The values must be in an ascending order. Values can be positive or negative and do not have any predefined unit.

PySide6.Qt3DAnimation.Qt3DAnimation.QMorphingAnimation.targetPositionsChanged(targetPositions)
Parameters

targetPositions