|
概述
动画轨道在动画系统中非常常见,它与动画资源绑定,用于记录动画片段播放时的状态。常见的动画标记有动画曲线(Animation Curve)、同步标记(Step Tag)、动画通知(Notify)等,之后会详细介绍。
实际使用中,部分曲线仅作开关使用,0表示关,1表示开,这类曲线规则简单且复用性高,比较适合通过编辑器脚本批量添加、删除和修改。本文介绍了在实际研发过程中开发和迭代的几个动画曲线、同步标记的批量编辑脚本的开发思路和使用方法
复制曲线(Copy Curves)
界面介绍
复制曲线界面
复制曲线的方式,可选择从特定动画中复制或者根据命名关键字替换搜索获取
(比如不同角色的同一动画配置相同)
如果选择从特定动画中复制,需要选择复制的动画资源。
是否复制所有曲线,当前版本(5.0.3)存在bug,仅支持复制所有曲线,预计在升级5.1后得到修复。
如果不复制所有曲线,可在此数组中填写需要复制的曲线名。(虚幻5.0.3数组变量有问题,暂不可用)
搜索的关键字
替换的关键字
搜索是否区分大小写
开发思路
Tips:点击上面的链接查看完整蓝图
- 获取需要复制的动画资源
- 获取动画资源中的所有曲线名:Get Animation Curve Names
- 根据曲线名获取Times & Values :Get Float Keys
- 判断粘贴的动画资源是否包含改曲线,包含则删除。
- 新增曲线,设置值: Add Float Curve Keys
备注:由于添加曲线的插值默认类型只能是Linear,如果需要修改Value的类型可能需要C++侧提供对应的接口。
<hr/>
添加曲线(Add Curve)
界面介绍
添加曲线的默认值,会在第0帧设置为这个值。
选择已有的曲线名。
若下拉列表中没有,则填写需要新增的曲线名。
若下拉列表中没有,则勾选此选项。
开发思路
Tips:点击上面的链接查看完整蓝图
- 获取需要添加曲线的动画资源。
- 判断曲线是否存在,如果存在则删除。
- 根据是否为新曲线判断从枚举还是从字符串获取数值。
- 添加对应命名的曲线,在第0帧K帧默认值。
<hr/>
添加同步标记(Add Step Tag)
界面介绍
脚到地面的距离,用于判断脚是否落地。
左脚骨骼命名
左脚落地的距离相对于Step On Value的偏移量
右脚骨骼命名
右脚落地的距离相对于Step On Value的偏移量
开发思路
Tips:点击上面的链接查看完整蓝图
- 规定:同步标记总是以Step L → Step R → Step L → Step R进行,其中Step L表示左脚落地,Step R表示右脚落地。
- 逐帧读取动画帧中左右脚的Z轴坐标,当某只脚离地距离小于Step On Value时,根据标签顺序判断是否需要打同步标记。
- 仅在第一次满足条件时打同步标记,避免重复。
备注:当前方案不好用的原因是不同角度下角色脚落地的距离差异较大
修改思路:同类型的动画时长、节奏往往相同,可根据既定的时间点结合阈值进行微调,比如在给定时间点正负一段时长内的最小值。
<hr/>
设置叠加动画(Set Additive Animation)
界面介绍
- 【Additive Animation Type】
叠加动画的类型 No additive / Local Space / Mesh Space
如果从其他动画选帧作为参考,base的动画资源
- 【Additive Base Pose Type】
Base Pose的类型,可选择参考 绑定姿势 / 特定动画 / 特定动画帧 / 自身动画的某一帧
参考Base动画的哪一帧
开发思路
Tips:点击上面的链接查看完整蓝图
- 获取需要设置叠加的动画资源
- 通过python脚本设置叠加(蓝图API拿不到部分属性)
- 执行和保存
Python Part:
import unreal
def SetAdditiveSettings(anim_sequence, ref_pos_seq, ref_pose_index):
sequence = unreal.EditorAssetLibrary.load_asset(anim_sequence)
sequence.set_editor_property(&#34;ref_pose_seq&#34;, unreal.EditorAssetLibrary.load_asset(ref_pos_seq))
sequence.set_editor_property(&#34;ref_frame_index&#34;, ref_pose_index)参考文档
https://zhuanlan.zhihu.com/p/141825438
https://zhuanlan.zhihu.com/p/433929708 |
本帖子中包含更多资源
您需要 登录 才可以下载或查看,没有账号?立即注册
×
|