您现在的位置是:首页 >技术杂谈 >Unity 动画网站首页技术杂谈

Unity 动画

一零壹0 2024-06-17 11:19:06
简介Unity 动画

Unity现存两套动画系统:Legacy动画系统和Mecanim动画系统。

Unity的Mecanim动画系统,是一套基于状态机的动画控制系统,是一个面向动画应用的动画系统

Animator

  • Avatar:动画节点导引替身,与动画复用(尤其是人形动画复用)有关,通过配置和应用Avatar,可以实现不同FBX模型之间的动画复用
  • Apply Root Motion:是否将动画中的根节点位移,植入到Unity中的物体位移上。
  • Culling Mode:剔除模式
    • Always Animate:无论物体是否被摄像机可见,总是计算所有节点的运动,完整的进行动画播放
    • Cull Update Transforms:当物体不被摄像机可见时,仅计算根节点的位移植入,保证物体位置上的正确
    • Cull Completely:当物体不被摄像机可见时,完全终止动画的运行
    • 对于玩家操作的主角人物,或者与主角密切相关的,在绝大多数情况下均可见的角色,我们通常使用Always Animate模式
    • 对于一些配角,例如怪物,小兵,这些部分情况下可见的角色,不妨使用Cull Update Transform模式来进行优化,这样在摄像机无法看见它们的时候,它们的根节点运动仍然正确

Animator Sub-state machine

  • 可以用来优化动画之间的结构,可以理解为windows上文件夹作用

Animator Layer 分层

  • 可以控制同时播放多层动画。结合Mask Avatar 可以实现上半身和下半身动画组合。

Animator BlendTree混合树

  • 用来控制几个动画进行混合如下图:常规的State只能是和下一个进行切换,而使用了BlendTree可以多个切换,如下设置不同Blend值对应后面4中插值。比如0.25就是POSE02了,这里Blend Type是1D,还可以切换成2D,相当于是x,y坐标插值。

动画IK

  • 反向动力学,用来解决模型动作跟随问题。如下图:通过控制左手,实现左手臂整体移动。

 

示例工程下载

风语者!平时喜欢研究各种技术,目前在从事后端开发工作,热爱生活、热爱工作。