Animation - UE5中的动画系统基础

对UE5中Animation的一些学习笔记,整理归档,UE5.1.0版本;文中所有案例都来自官方的ContentExample中的Animation Basics关卡;

首先,当在DCC软件中导出绑定骨骼的模型时,导入UE5的时候会自动生成其骨骼(Skeleton)以及带骨骼模型(Skeletal Mesh);导出的骨骼假如带有动画序列帧的话,还会生成其动画(Animation Sequence);在UE中以上都以Assets的形式存在;

Skeleton Assets本质是骨骼名字的层级列表,并不包括蒙皮(Skinning)和Transform数据,其主要功能就是把动画数据映射到骨骼模型上去;其还存储了可用于Skeletal Mesh的anim curves、sync markers和notifies等元数据;不同的Skeletal Mesh可共用同一个Skeleton,只要它们的骨骼层级是兼容的;

Skeletal Mesh包含了蒙皮的模型,以及与其关联的数据,比如material和physics asset等;

Animation assets包含了骨骼的相关Transform数据,可以在相同骨骼的任何Skeletal Mesh上使用;

以下是一些基础的特性和概念

关于Root Motion的概念,是指在动画中,是否烘焙位移到了根骨骼(root bone)上,如果是则其为有Root motion,有Root motion的动画会在角色位移动画的时候,根骨骼也会随角色而动;

角色BP的Movement component会利用根骨骼的移动来移动角色的胶囊体等,这样就在如角色后退的动画中,如果碰到障碍物等,能方便的进行正确的物理计算:

。。。。。。。。

可以使用Additive Animations叠加不同的动画,形成复杂的混合动画,比如在奔跑动画中混入受击动画,这一逻辑在Animation BP中完成:

。。。。。。。。

注意Sequence Player不同的颜色代表其引用的Animation Sequence属性不同,额外叠加到基础动画上的Additive动画,需要在其Animation Sequence属性中,设置相关参数(如Base Pose等,UE根据Base Pose计算出差异部分,再叠加到基础动画上,才有正确的效果):

。。。。。。。。

还可以使用Blendspaces来混合动画,其作用是基于输入值,在混合空间轴中获取轴上对应值的线性融合的动画;最典型的就是根据传入的速度值来混合停、走、跑等不同动画:

。。。。。。。。

完整文章发表在知乎:

Animation - UE5中的动画系统基础 - 知乎


  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

DoomGT

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值