unity编辑器创建资源优化--动画

unity的动画系统

  • Animation
  • Animator
  • Playerable API

 

Animation一些细节

  • 播放单个AnimationClip速度,Legacy Animation(老的动画版本,现在基本放弃了)系统更快。因为老的系统是直接采样曲线并直接写入对象Transfomr。这里说的是单个,而不是整体的AnimationClip
  • 针对动画的缩放曲线比位移,选择矩阵开销更大,所以动画的缩放曲线尽量不要做
  • 常数曲线不会每帧写入场景,更高效

Animator更新的流程

 白色的部分是动画系统各个时段的回调,灰色的部分是动画系统的关键部分

最开始的是动画状态机的更新,接下来ProcessGraph是对所有的动画部分进行采样以及计算根骨动画,processAnimation是计算动画图层和结果,write Transfom是将动画写入到场景,WriteProperties是将主线中的动画属性写到动画对象上

Animator的一些细节

  • 不要使用字符串来查询Animator-
  • 使用曲线标记来处理动画时间
  • 使用Target Marching函数来协助处理动画
  • 将Animator的CullingMode(裁剪模式)设置成Based On Renderers来优化动画,并禁用SkinMesh Render的Update When Offscreen属性让角色不见时动画不更新

解决方案选择

  • 一些简单,少量曲线动画可以使用Animation或动画区间库如果Dotween等完成。他们一般用作UI动画,Transform动画等
  • 角色骨骼蒙皮动画如果骨骼较少,AnimationClip资源不多,对动画混合表现要求不高的项目可以采用Legacy Animation。
  • 一些角色动画要求与逻辑有较高的交互,并且动画资源不多的项目可以直接用AnimatorGraph完成
  • 一些动作游戏,对动画混合要求较高吗,有一些高级动画效果要求,动画资源量庞大的项目,建议才有Animator + playable Api(此部分没有讲 是因为我也不会也不懂)扩展Timeline的方式完成

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值