动画系统分三类:
None
Legacy
Generic
Humanoid(人形的动画类型)
旧版动画系统Animation
public class OldAnimation : MonoBehaviour {
private new Animation animation;
private void Awake()
{
animation = GetComponent<Animation>();
}
private void OnGUI()
{
if (GUILayout.Button("RUN"))
{
animation.Play("Run");
}
if (GUILayout.Button("Attack"))
{
animation.CrossFade("Attack1", 1f);
}
}
}
新版动画Mecanim
新版动画和旧版动画最大的区别就是新版动画系统加入了骨骼Avatar,骨骼顾名思义就是给物体
添加骨骼架构
Mecanim是Unity提供的一个丰富而复杂的动画系统,提供了:
1.针对人形角色的简易的工作流和动画创建能力
2.Retargeting(运动重定向)功能,即把动画从一个角色模型应用到另一个角色模型上的能力。
(面试中经常问到项目资源的优化)
3.针对Animations Clips(动画片段)的简易工作流,针对动画片段及他们之间的过度和交互预览
能力。
4.一个用于管理动画间复杂交互作用的可视化窗口。(状态机)
5.通过不同逻辑来控制不同身体部位的运动能力。
Animator
1.Animator Controller
2.Avator对角色中骨骼进行分析识别,并与Mecanim中骨骼进行对比。
选中某一个状态
FootIK:正向动力学,身体驱动脚行动
Avatar
选择Humanoid类型之后,则可以看到Avatar Definition(Avatar定义)属性选项。分
为Create From This Model(为此模型创建Avatar)、Copy From Other Avatar(复制
其它的Avatar)两种选项。选择第一项并Apply确定后,则会自动创建Avatar。如果创
建成功,则会在下面的Configure…(配置)按钮前有一个对勾,表示Avatar被创建成
功。在Inspector面板中,Avatar以图形方式绘制显示在Mapping(绘图)映射图表标签
中。其中圆形图标代表了人体骨骼的节点。通过点击某一个圆形图标,可以选中不同
部位的骨骼。而圆形图标分为实线和虚线两种。虚线圆表示为Optional Bone(可选的
骨骼),而实线圆则表示为Avatar必须要设置的骨骼。
在Mapping绘图标签中,有4个按钮分别代表了人物骨骼的4个不同的细节部位。
Body(身体)、Head(头部)、Left Hand(左手)、Right Hand(右手)。
当骨骼匹配都正确时,则图案都为绿色,只有在骨骼匹配错误时,才会在错误的对应
点显示为红色,并自动弹出一些错误提示。