BlendedClipAnimator QML Type
BlendedClipAnimator est un composant offrant des capacités de lecture d'animation d'un arbre de nœuds de fusion. Plus d'informations...
| Import Statement: | import Qt3D.Animation 2.11 |
| In C++: | QBlendedClipAnimator |
| Inherits: | |
| Status: | Deprecated |
Propriétés
- blendTree : AbstractClipBlendNode
Description détaillée
Une instance de BlendedClipAnimator peut être agrégée par une entité afin d'ajouter la possibilité de lire des clips d'animation et d'appliquer les valeurs d'animation calculées aux propriétés des QObjects.
Alors qu'un site ClipAnimator obtient ses données d'animation à partir d'un seul clip d'animation, BlendedClipAnimator peut combiner plusieurs clips. Les données d'animation sont obtenues en évaluant ce que l'on appelle un arbre de fusion. Un arbre de fusion est une structure arborescente hiérarchique dont les nœuds feuilles sont des nœuds de valeur qui encapsulent un clip d'animation (AbstractAnimationClip) et dont les nœuds internes représentent des opérations de fusion qui opèrent sur les nœuds indiqués par les propriétés de leurs opérandes.
Pour associer un arbre de fusion à un BlendedClipAnimator, définissez la propriété blendTree de l'animateur pour qu'elle pointe vers le nœud racine de votre arbre de fusion :
BlendedClipAnimator {
blendTree: AdditiveClipBlend {
....
}
}Un arbre de fusion peut être construit à partir des types de nœuds suivants :
Remarque : l'arbre de nœuds de fusion ne doit être modifié que lorsque l'animateur n'est pas en cours d'exécution.
- Qt3D.Animation.ClipBlendValue
- Qt3D.Animation.LerpClipBlend
- Qt3D.Animation.AdditiveClipBlend
D'autres types de nœuds seront ajoutés au fil du temps.
Prenons l'exemple de l'arbre de fusion suivant :
Clip0----
|
Lerp Node----
| |
Clip1---- Additive Node
|
Clip2----Il peut être créé et utilisé comme suit :
BlendedClipAnimator {
blendTree: AdditiveClipBlend {
baseClip: LerpClipBlend {
startClip: ClipBlendValue {
clip: AnimationClipLoader { source: "walk.json" }
}
endClip: ClipBlendValue {
clip: AnimationClipLoader { source: "run.json" }
}
}
additiveClip: ClipBlendValue {
clip: AnimationClipLoader { source: "wave-arm.json" }
}
}
channelMapper: ChannelMapper {...}
running: true
}En créant un ensemble de clips d'animation et en les mélangeant dynamiquement au moment de l'exécution à l'aide d'un arbre de mélange, nous ouvrons un vaste ensemble d'animations possibles. L'arbre de mélange ci-dessus, où alpha est le facteur additif et bêta le facteur de mélange lerp, permet d'obtenir un continuum d'animations possibles en 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 wavingDes arbres de fusion plus complexes offrent encore plus de flexibilité pour combiner vos clips d'animation. Notez que les valeurs utilisées pour contrôler l'arbre de fusion (alpha et bêta ci-dessus) sont de simples propriétés des nœuds de fusion. Cela signifie que ces propriétés peuvent également être contrôlées par le cadre d'animation.
Documentation sur les propriétés
blendTree : AbstractClipBlendNode
Cette propriété contient la racine de l'arbre de mélange d'animation qui sera évaluée avant d'être interpolée par l'animateur.
© 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.