BlendedClipAnimator QML Type
BlendedClipAnimator est un composant permettant la lecture d'animations à partir d'une arborescence de nœuds de fusion. En savoir plus...
| Import Statement: | import Qt3D.Animation 2.12 |
| In C++: | QBlendedClipAnimator |
| Inherits: | |
| Status: | Technology preview |
Ce type est en préversion technologique et est susceptible d'être modifié.
Propriétés
- blendTree : AbstractClipBlendNode
Description détaillée
Une instance de BlendedClipAnimator peut être agrégée par une Entité afin de permettre la lecture de clips d’animation et d’appliquer les valeurs d’animation calculées aux propriétés des QObjects.
Alors qu’un ` ClipAnimator ` tire ses données d’animation d’un seul clip d’animation, `BlendedClipAnimator` peut fusionner plusieurs clips. Les données d’animation sont obtenues en évaluant ce qu’on appelle un « blend tree ». Un « blend tree » est une structure arborescente hiérarchique dont les nœuds feuilles sont des nœuds de valeur encapsulant un clip d’animation (AbstractAnimationClip) ; les nœuds internes représentent quant à eux des opérations de fusion agissant sur les nœuds pointés par leurs propriétés d’opérande.
Pour associer un « blend tree » à un BlendedClipAnimator, définissez la propriété blendTree de l'animateur de manière à ce qu'elle pointe vers le nœud racine de votre « blend tree » :
BlendedClipAnimator {
blendTree: AdditiveClipBlend {
....
}
}Un arbre de fusion peut être construit à partir des types de nœuds suivants :
Remarque : l'arborescence des nœuds de fusion ne doit être modifiée 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 par exemple l'arborescence de mélange suivante :
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 effectuant des fondus dynamiques entre eux lors de l’exécution à l’aide d’un arbre de fondus, nous ouvrons la voie à une multitude d’animations possibles. Voici quelques exemples simples illustrant l’arbre de fondus ci-dessus, où alpha est le facteur additif et bêta le facteur de fondu par interpolation : nous obtenons ainsi un continuum 2D d’animations possibles :
(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 mélange plus complexes offrent encore davantage de flexibilité pour combiner vos clips d’animation. Notez que les valeurs utilisées pour contrôler l’arbre de mélange (alpha et bêta ci-dessus) sont de simples propriétés des nœuds de mélange. Cela signifie que ces propriétés elles-mêmes peuvent également être contrôlées par le framework d’animation.
Documentation sur les propriétés
blendTree : AbstractClipBlendNode
Cette propriété contient la racine de l'arborescence 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.