BlendedClipAnimator QML Type
BlendedClipAnimator ist eine Komponente, die die Wiedergabe von Animationen in einem Baum von Blend-Knoten ermöglicht. Mehr...
Import Statement: | import Qt3D.Animation 2.8 |
In C++: | QBlendedClipAnimator |
Inherits: | |
Status: | Deprecated |
Eigenschaften
- blendTree : AbstractClipBlendNode
Detaillierte Beschreibung
Eine Instanz von BlendedClipAnimator kann von einer Entität zusammengefasst werden, um die Fähigkeit zur Wiedergabe von Animationsclips und zur Anwendung der berechneten Animationswerte auf Eigenschaften von QObjects hinzuzufügen.
Während ein ClipAnimator seine Animationsdaten aus einem einzelnen Animationsclip bezieht, kann BlendedClipAnimator mehrere Clips zusammenfügen. Die Animationsdaten werden durch Auswertung eines so genannten Blend-Trees gewonnen. Ein Überblendungsbaum ist eine hierarchische Baumstruktur, bei der die Blattknoten Werteknoten sind, die einen Animationsclip (AbstractAnimationClip) kapseln, und die internen Knoten Überblendungsoperationen darstellen, die auf die Knoten wirken, auf die ihre Operandeneigenschaften zeigen.
Um einen Überblendungsbaum mit einem BlendedClipAnimator zu verknüpfen, stellen Sie die Eigenschaft blendTree des Animators so ein, dass sie auf den Wurzelknoten des Überblendungsbaums zeigt:
BlendedClipAnimator { blendTree: AdditiveClipBlend { .... } }
Ein Blend Tree kann aus den folgenden Knotentypen aufgebaut werden:
Hinweis: Der Blend-Knotenbaum sollte nur bearbeitet werden, wenn der Animator nicht läuft.
- Qt3D.Animation.ClipBlendValue
- Qt3D.Animation.LerpClipBlend
- Qt3D.Animation.AdditiveClipBlend
Weitere Knotentypen werden mit der Zeit hinzugefügt.
Als Beispiel soll der folgende Blend Tree dienen:
Clip0---- | Lerp Node---- | | Clip1---- Additive Node | Clip2----
Dieser kann wie folgt erstellt und verwendet werden:
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 }
Durch das Erstellen einer Reihe von Animationsclips und das dynamische Mischen zwischen ihnen zur Laufzeit mit einem Blend Tree eröffnen wir eine riesige Menge möglicher resultierender Animationen. Einige einfache Beispiele für den obigen Überblendungsbaum, bei dem Alpha der additive Faktor und Beta der Überblendungsfaktor ist, ergeben ein 2D-Kontinuum an möglichen Animationen:
(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
Komplexere Überblendungsbäume bieten noch mehr Flexibilität bei der Kombination Ihrer Animationsclips. Beachten Sie, dass die Werte, die zur Steuerung des Überblendungsbaums verwendet werden (Alpha und Beta oben), einfache Eigenschaften der Überblendungsknoten sind. Das bedeutet, dass diese Eigenschaften selbst auch durch das Animations-Framework gesteuert werden können.
Eigenschaft Dokumentation
blendTree : AbstractClipBlendNode |
Diese Eigenschaft enthält die Wurzel des Animationsüberblendungsbaums, der ausgewertet wird, bevor er vom Animator interpoliert wird.
© 2025 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.