FPS游戏框架漫谈第六天

话接上回讲到了状态机的JSON文件布局 有了这个我们只需要解析这个json文件就可以拿到动画转换的条件,不需要unity的动画编辑器也行,直接手工配置即可。

现在有了数据, 下面我们来讲我们如何不直接使用unity的animator.play接口,采用tick来一个功能,就是我开枪之后自动回到自然状态

那么第一步 我开一枪 AnimatorManager 对外的play接口首先会检测当前动画的触发器数据是不是已经存在,不存在则创建一个触发器数据 注意这个触发器其实是记录动画名字和速度,只是他的触发条件是unity里面的Trigger
第二部 由于AnimatorManager的Tick存在并且会检测触发器数据列表。 如果检测到了触发器数据,就把触发器数据拿出来,找到动画名字然后保存 ,后面遍历全部的Layer对象 然后拿的当前层的当前动画状态对象 同时检测当前动画有没有过度动画,有的话就执行后续行为,然后检测满足条件的过度动画进行过度即可。

你可能感兴趣的:(unity,FPS,游戏)