Unity3D开发学习⑤ 角色动画,动画切换

目录

 

 

 1.角色动画

给角色添加动画需要用到的是动画组件

 

 

 首先添加一个Animator

 

 

 然后看到参数里还需要一个Controller

 

 

 回到根目录创建一个装动画的文件夹 ,里面单独给Player的动画也新建个文件夹

 

 

 

 

 

 然后新建Animator Controller 这里命名为idle(代表player常态动画

再打开animation面板

 

 

 

 

 

 拖长就可以看见完整的面板(这里已经吧controller拖入Animator

在这里新建一个动画

 

 

 

看旁边的时间轴可以知道unity播放的动画是帧动画的形式,所以只要有动画的帧就可以直接拖入里面

这里在素材包里可以找到动画的帧

 

 

 拖进去即可

然后就可以点击播放在游戏预览中看到player鬼畜抖动

 

 

 改变动画速度可以直接拖动两端改变时长,或者修改Samples(采样率

将动画速度调顺眼后就可以继续了

 

 

 这个选项是调整是否循环播放动画,

 

 

选中player, 打开Animator面板

 

 

 发现idle动画已经被添加上了

然后就可以准备加上跑步的动画了

 

 

 2.动画切换

首先确定需求:不动的时候播放常态动画,动起来的时候播放跑步动画

很明显条件就是动起来

而判断有没有动起来的话,恰好之前脚本里的getAxisRaw就不失为一个能用的法子

 

那么还是先添加跑步动画吧

 

 

 

 

 

 

 

 导入贴图前别忘了设置大小,不然就好玩了

然后稍微设置一下就可以准备打开Animator界面开干了

 

 

 这个run动画是需要自己拖入添加的

 

然后就需要为两个动画建立联系(平滑过渡)

 

 

 右键选择MakeTransition在两个动画上链接确定关系

 

 

 选择过渡箭头可以发现属性中的条件列表

这里可以在面板中选择添加条件

 

 

 此处添加一个浮点数参数 命名为Running

 

 

 然后条件列表就可以新建刚才创建的参数

选择阈值和大于还是小于触发就搞腚了一个条件

 

 

 

 

 然后点击setting开始设置动画的开始时间什么的

 

 

 

 

 

 结束时间全部去掉,过渡时间也全部去掉

然后根据是否停止跑步将Running这个判断标志位是大于还是小于处理添加上即可

然后便又要回归代码了

先打开PlayerController

想要将参数暴露给animtor调用,就像声明mPlayer外部组件就可以被设置为player,在代码中声明animator变量即可外放给其他组件(动画组件)

 

 

 

 

 然后就可以在位移中同步设置animator的信息

因为需要浮点数,所以可以直接吧faceDirection套进去,只是要注意左右移动有正负之分

不应该一边跑一边不跑吧

所以需要用到数学函数进行绝对值处理

 

 

然后就可以进游戏预览了

就是跳跃还不是很自然,下次再加上跳跃动画吧

 

posted @ 2021-01-15 18:21  虚青海  阅读(1448)  评论(0编辑  收藏  举报