BlendedClipAnimator QML Type
블렌드 클립 애니메이터는 블렌드 노드 트리의 애니메이션 재생 기능을 제공하는 컴포넌트입니다. 더 보기...
Import Statement: | import Qt3D.Animation 2.8 |
In C++: | QBlendedClipAnimator |
Inherits: | |
Status: | Deprecated |
속성
- blendTree : AbstractClipBlendNode
상세 설명
블렌디드클립애니메이터의 인스턴스는 엔티티에 의해 집계되어 애니메이션 클립을 재생하고 계산된 애니메이션 값을 QObject의 프로퍼티에 적용하는 기능을 추가할 수 있습니다.
ClipAnimator 은 단일 애니메이션 클립에서 애니메이션 데이터를 가져오는 반면, BlendedClipAnimator는 여러 클립을 블렌딩할 수 있습니다. 애니메이션 데이터는 소위 블렌드 트리를 평가하여 얻습니다. 블렌드 트리는 계층적 트리 구조로, 리프 노드는 애니메이션 클립(AbstractAnimationClip)을 캡슐화하는 값 노드이고, 내부 노드는 피연산자 속성이 가리키는 노드에서 작동하는 블렌딩 연산을 나타냅니다.
블렌드 트리를 블렌드 클립 애니메이터와 연결하려면 애니메이터의 blendTree 속성을 블렌드 트리의 루트 노드를 가리키도록 설정합니다:
BlendedClipAnimator { blendTree: AdditiveClipBlend { .... } }
블렌드 트리는 다음 노드 유형으로 구성할 수 있습니다:
참고: 블렌드 노드 트리는 애니메이터가 실행되지 않을 때만 편집해야 합니다.
- Qt3D.Animation.ClipBlendValue
- Qt3D.Animation.LerpClipBlend
- Qt3D.Animation.AdditiveClipBlend
시간이 지남에 따라 추가 노드 유형이 추가될 예정입니다.
예를 들어 다음 블렌드 트리를 생각해 보겠습니다:
Clip0---- | Lerp Node---- | | Clip1---- Additive Node | Clip2----
다음과 같이 생성하고 사용할 수 있습니다:
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 }
애니메이션 클립 세트를 작성하고 블렌드 트리를 사용하여 런타임에 동적으로 블렌딩하면 가능한 결과 애니메이션의 방대한 세트를 열 수 있습니다. 위 블렌드 트리의 간단한 예로, 알파는 가산 계수이고 베타는 러프 블렌드 계수로 가능한 애니메이션의 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
더 복잡한 블렌드 트리를 사용하면 애니메이션 클립을 훨씬 더 유연하게 조합할 수 있습니다. 블렌드 트리를 제어하는 데 사용되는 값(위의 알파 및 베타)은 블렌드 노드의 단순한 프로퍼티라는 점에 유의하세요. 즉, 이러한 프로퍼티 자체도 애니메이션 프레임워크에서 제어할 수 있습니다.
프로퍼티 문서
blendTree : AbstractClipBlendNode |
이 프로퍼티는 애니메이터에 의해 보간되기 전에 평가될 애니메이션 블렌드 트리의 루트를 보유합니다.
© 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.