1、Animator的制作
首先,我们创建一个文件夹,命名为Graphics,把Hero相关素材直接导入到这个文件夹中方便管理。其次我们把Hero序列帧对应的第一帧拖入场景中并命名为Animator,然后拖入到Player组件下,像这样。
最后,在Animator对象下点击Add Component添加一个组件Animator得到如下效果。注意啊这时属性Controller我们还没设置。
2、Animation的制作
首先,我们在Assets下新建一个文件夹命名为Animation,其次在Animation文件夹下创建一个Animator Controller命名为Player_AC并拖入上图Controller中。最后,我们就可以开始录制动画啦。
1、Idle状态的录制
快捷键Ctrl+6打开Animation窗口,开始录制Idle
我们首先点击Create New Clip并把它命名为PlayerIdle,其次如上图所示把前5序列帧拖入到左边栏中,把Samples设置为7,如这里没有这个设置,就点击下图又上角落这里,把Show Sample Rate勾选上即可,这样我们就新建好玩家Idle状态的动画了。
2、move状态的录制
同理,与上文相同操作新建一个Clip命名为PlayerMove,把图所示的7个序列帧拉入左边当中。这样玩家在移动的动画我们就做好啦。
3、为Animator设置状态机
设置如下
接着上篇初始状态机的PlayerState类里添加以下两行代码player.animator.SetBool(animBoolName,true);
player.animator.SetBool(animBoolName, false);
用来控制状态切换的动画的播放
最后,我们来测试一下代码,在PlayerIdleState和PlayerMoveState的Update()函数里添加如下代码,测试按下N键后动画是否能来回切换。
if (Input.GetKeyDown(KeyCode.N))
{
playerStateMachine.ChangeState(player.stateIdle);
}
运行,结果无误,噢我们就完成了对状态机设置Animator啦!!!我们下篇文章再见。