UE4动画系统播放Montage源码浅析(二)
在先前的源码文章中,我们对UE4动画蒙太奇播放过程进行了探讨,何播本篇将深入解析蒙太奇的源码其他相关知识,包括蒙太奇插槽、何播蒙太奇片段和动画片段等。源码所分析的何播每日首单源码源码版本为4.。
关于蒙太奇结构,源码UAnimMontage蒙太奇动画可视为一种动态表现手段,何播无需将混合空间或动画序列拖入动画蓝图,源码只需在动画蓝图里放置一个FAnimNode_Slot动画节点,何播即可通过montage_play接口播放该插槽下的源码所有蒙太奇资源。
这意味着我们无需修改动画蓝图,何播就可以播放全新的源码动作。
蒙太奇动画除了动态播放动作外,何播还有更多应用。源码例如,现实中的vs但是当前源码蒙太奇概念。蒙太奇(montage)在法语中意为“剪接”,但在俄国,它被发展成一种**中镜头组合的理论。例如,将母亲煮菜、洗衣、带小孩、父亲看报等镜头放在一起,CBT挖矿系统源码会给人一种母亲“忙碌”的感觉,从而产生对比手法,突出人物或事物的具体特征,两个不同的片段之间相互联系,产生意想不到的效果。
如上所述,这类动画被称为蒙太奇,因为它还包括剪接、直播软件源码教程片段、组合等特点,可用于循环播放动画、跳转到下一个动画等。
创建一个动画序列的蒙太奇,会看到如下面板:区域1为蒙太奇插槽,在动画蓝图中也要有对应插槽节点才会播放此蒙太奇;蒙太奇资源中可以添加多个插槽。区域2为蒙太奇片段,海思监控源码蒙太奇资源中可以创建多个片段并设置它们之间的关系,用于动画的跳转、循环等。区域3为动画片段,每个插槽下可以添加多个动画片段。
蒙太奇片段对应上图示例有三个片段:Default、Loop、End,我们可以设置它们之间的关系。图中Default片段后面的箭头图标表示播放完毕后会接着播放Loop,Loop片段后的循环图标表示循环播放Loop。如果我们显式跳转到End片段,End片段后面没有其他片段,那么播放结束后就结束了。
蒙太奇片段是独立的,与插槽、动画片段没有任何关系,它只是根据蒙太奇片段之间的关系确定当前播放时间。了解了蒙太奇片段的作用,我们来看具体实现。其数据结构如下:蒙太奇片段由FCompositeSection结构描述,CompositeSections就是蒙太奇资源上序列化的蒙太奇片段数组。
了解了基本数据结构,再看如何根据动画片段获取蒙太奇姿势。结合上一篇文章,姿势获取最后是调用FAnimInstanceProxy::SlotEvaluatePose函数,并遍历MontageEvaluationData数据(其中包含蒙太奇实例的时间、权重、蒙太奇引用等数据)。
以上便是关于UE4动画系统播放Montage源码的解析,希望对大家有所帮助。
2024-11-14 10:57
2024-11-14 10:56
2024-11-14 10:40
2024-11-14 10:40
2024-11-14 08:45