我们的枪械虽然可以射击了,也可以打出音效了,但是在开火时枪械没有后座和震动,行走时武器也没有契合人物动作的动画,使游戏画面看起来不美观。为此,本节将为枪械添加动画和后座。
武器后座
本项目的武器后座使用程序方法进行添加,新建一个后坐力脚本,并且附加到相机上。
我添加的代码如上图,我的思路是:将后座力分为水平和垂直后座,每次设计后调用AddRecoil()函数,为武器增加垂直后座力和随机方向的水平后座力,而在update()中将水平和垂直后座力以线性插值方法趋向到零,在按照后坐力的数值设定武器旋转角度。
而后,要限制后坐力使武器偏转的最大角度
首先设定一个最大后坐力值
在AddRecoil中使用Mathf.Clamp()进行限制
注意要将脚本安置在相机上
最后在玩家控制器脚本中调用
动画设置
动画应该根据玩家的待机,行走,奔跑,跳跃进行播放不同的动画,首先创建角色的动画控制器,并添加所需的状态。
我的动画状态图如下:
首先我们需要给玩家添加奔跑功能,在输入系统中添加奔跑键(左Shift)
在玩家的脚本中设置触发函数
设置不同的参数,来进行各种状态的调整。