一、动画文件的设置
- 动画文件或者模型文件是以fbx格式存在project目录里的;
2.模型的设置:
Model选项:Scale Factor:模型比例缩放,一般都是0.01,如果所在工程不一样则以工程设置为主;
Rig选项:AnimationType:Legacy:老版动画系统;如果使用Animation组件进行播放,需要将动作切换到Legacy;
Generic:通用设置;游戏中一般非人类的模型动作可以选这个;
Humanoid:新版动画系统人类;当选择此选项之后,会要求定义Avatar文件,动作文件可以使用其他模型的Avatar文件;
通过Avatar映射关系实现动画的重定向;
Animation选项:
有可能这是一个完整的动画合集,分动画是根据帧数来分的,这个时候动画设计师需要跟你说具体动作所对应的帧数范围;
也有可能拿到的就是分好的动画文件;
在剪切动画时,需要检查右侧的灯的颜色;绿色灯代表匹配的很好,黄色灯匹配的一般,红色灯代表没有匹配上;(匹配是指动画第一帧和动画最后一帧是否匹配)
Root Transform Rotation:匹配的是绿色灯;第一帧和最后一帧方向完全一致;
Root Transform Position Y:匹配的是绿色灯;第一帧和最后一帧位置Y的值完全一致;
Root Transform Position x z:匹配时绿色灯,第一帧和最后一帧的位置 x,z是否完全一致;
二、Animator新动画系统
- 新建Animator Controller文件
AnyState:任意状态;常用作播放死亡状态,不管当前角色在播放什么状态,都可以被杀死然后播放死亡动作;
Entry/Exit:进入状态机和退出状态机,进入状态机默认连接默认状态动画;
Idle:橙色(名字可以改),一般是默认动画,一般播放待机动画;
Run:一般状态(名字可以改)
- 动画状态机的层和参数:
Layer:动画状态机中还可以嵌套一个动画状态机;
Paramters:状态切换参数(int float bool trigger);
- 动画状态切换
Solo:动画切换优先;
Mute:动画切换禁止;
Has Exit time :勾选上会在切换动画时上一动作结束后再播放下一动画
Setting: ExitTime:动作切换上一动作退出时间;
Fixed Duration/Transtion Duration:动作切换时间长度;
Transtion offset:下一动作所在上一动作比例;(动手测试下);
Interruption sources:打断动画切换来源:
重要:conditions:这里面的切换动作参数是paramers里面定义的,条件可以使大于、等于、不等于、小于
- Animator组件:
Controller:AnimatorController文件;
Avatar:放骨骼文件;
Apply Root motion:如果勾选代表使用动画中的位移;如果当前游戏物体上的代码组件中有OnAnimatorMove内置函数,位移就受代码控制;
Update Mode:正常更新、物理更新(FixUpdata更新)、不受时间缩放影响;
Culling Mode:
- 始终有动画;
- 当摄像机没有渲染该物体,就会停止部分Transform相关功能;
- 当摄像机没有渲染该物体,整个动画都不会被渲染;
- 代码操作Animator
三、战斗攻击流程图