用Unity做“吃鸡”需要注意什么

角色动作

玩 3D 游戏时,经常会看到游戏中的 3D 角色非常绚丽的动作表现,游戏中的角色动作主要是通过美术制作完成。

制作方式有如下两种:

通过动作捕捉,然后再由美术人员根据捕捉到的数据完成美术制作。

美术利用 Max 或者 Maya 工具直接制作完成。

相比前者动作比较逼真,成本也高。我们这里不讨论使用哪种方式,对于动作类游戏,吃鸡游戏的角色动作是最多的。

它包括:跑,走,跳,翻墙,趴下,驾驶载具,扔手雷,装备不同的枪械,使用不同的枪械射击动作,救护,拾取弹药装备等等。

我们将其分成两类:

一类是按照动作要求全部把动作做一遍,工作量是相当大的,因为你不但要制作还要维护这些动作。

另一种是采用引擎提供的动作融合技术,这需要我们将动作进行分类,目的是减少一部分动作的制作,这种是最优的方案。

动作融合

不论是虚幻引擎、Unity 引擎还是自研引擎,成熟的引擎都会提供动作融合技术。

Unity 为我们提供了动作状态机,鉴于吃鸡游戏动作的复杂性,上图是我们模拟实现了一下,我们在这里将动作进行了分类,分几层无所谓关键是能解决问题就可以。

我们这么分的原因是方便对角色动作进行融合,层与层之间的播放可以设置优先级播放,也可以同时播放,这样我们就可以实现动作的融合了。

我们为什么这么分层?如果使用一层来实现角色动作状态机,这么多动作显得非常臃肿而且动作之间的转换非常复杂,灵活性不够,让开发者很容易深陷其中,逻辑很难理顺。

所以我们采用了分层的策略,这样动作的播放顺序,动作的融合在逻辑方面会很清晰。

首先看 Base Layer,它是最核心的层,该层主要实现的是角色基本动作的播放。


我们将 Base Layer 层设为父类,再看 OnlyArms 层,它继承于 Base Layer。OnlyArms 层主要是在 Base Layer 层的基础上做了一个扩展,比如加了一个角色拿不同的武器待机状态,继承原理跟 C++,C# 等面向对象语言的继承方式类似。

另外,UpperBody 层主要是针对角色上半身的动作状态机,便于与 Base Layer 或者 OnlyArms 层做动作融合,UnderBody 跟 UpperBody 类似,它是下半身的动作状态机。

更多unity2018的功能介绍请到paws3d爪爪学院查找。链接https://www.paws3d.com/learn/,也可以加入unity学习讨论群935714213

近期更有资深开发人士直播分享unity开发经验,详情请进入官网或加入QQ群了解

猜你喜欢

转载自blog.csdn.net/qq_35037137/article/details/88744295