角色动作
玩 3D 游戏时,经常会看到游戏中的 3D 角色非常绚丽的动作表现,游戏中的角色动作主要是通过美术制作完成。
制作方式有如下两种:
通过动作捕捉,然后再由美术人员根据捕捉到的数据完成美术制作。
美术利用 Max 或者 Maya 工具直接制作完成。
相比前者动作比较逼真,成本也高。我们这里不讨论使用哪种方式,对于动作类游戏,吃鸡游戏的角色动作是最多的。
它包括:跑,走,跳,翻墙,趴下,驾驶载具,扔手雷,装备不同的枪械,使用不同的枪械射击动作,救护,拾取弹药装备等等。
我们将其分成两类:
一类是按照动作要求全部把动作做一遍,工作量是相当大的,因为你不但要制作还要维护这些动作。
另一种是采用引擎提供的动作融合技术,这需要我们将动作进行分类,目的是减少一部分动作的制作,这种是最优的方案。
动作融合
不论是虚幻引擎、Unity 引擎还是自研引擎,成熟的引擎都会提供动作融合技术。
Unity 为我们提供了动作状态机,鉴于吃鸡游戏动作的复杂性,上图是我们模拟实现了一下,我们在这里将动作进行了分类,分几层无所谓关键是能解决问题就可以。
我们这么分的原因是方便对角色动作进行融合,层与层之间的播放可以设置优先级播放,也可以同时播放,这样我们就可以实现动作的融合了。
我们为什么这么分层?如果使用一层来实现角色动作状态机,这么多动作显得非常臃肿而且动作之间的转换非常复杂,灵活性不够,让开发者很容易深陷其中&