我们在Bane Games对Unity这一工具情有独钟。有许多人问我们使用什么工具,如何配置我们的项目。今天我就简要概括这一内容,希望也能听听大家推荐的第三方工具,以及你们如何用Unity制作游戏。

  第三方工具

  我们喜欢Asset Store并认为它是Unity最大的卖点之一。我认识不少Asset Store开发者对这一工具的评价极高,尤其是在扩展Unity和创收这方面的开发易用性。我们有4种主要使用工具。

  2D Toolkit

  2D Toolkit

  我们的头三款游戏使用了我所创造的简单渲染系统。虽然这很适用于我们的前几款游戏,但这是我想利用他人的技术以便我们访问批处理、更健全的动画以及一般性能提升的主要领域之一。在2013年的一些调查之后,我发现2D Toolkit就是三大主要竞争者之一。经过一些试验,我发现它正是我们所需的工具。

  我们开始使用2D Toolkit开发一系列原型以筛选下一个游戏项目。我们现在已经完全掌握了这一工具,并使用它来制作原型和完整的游戏开发(例如《Battle Group 2》,简称BG2以及我们的太空游戏)。我们发现它很易于使用,几乎没有漏洞,并且极具表现性。

  随着Unity 2D系统的问世,我们将在开发下一款游戏时使用自己的选择。经过一系列快速调查我发现2D Toolkit超越了我们的一切需求,并且还进行更新,使用了Unity 2D的一些新功能,例如排序图层和2D视口。

  NGUI

  Unity中的GUI支持在对于2011年刚开始开发游戏时的我来说一直是个问题。当我谈到Unity时我就会习惯性地将它列为数项负面开发问题之一,到2014年时它成了唯一未能解决的问题。我们期待Unity在未来数月的新GUI系统,但目前最佳选择却是NGUI。

  我试过了Asset Store中的每一个GUI库,不幸的是我还没有发现满意的GUI。NGUI是最佳选择,但是我们对它也存在大量问题(游戏邦注:例如地图集中的图像精灵交换位置没有在游戏中更新)。我们希望这些情况能够得到改善,也会在自己的太空游戏中评估Unity的新GUI系统。

  Autopilot

  Autopilot对于任何瞄准iOS平台的开发者来说都是无价的工具。它整合了TestFlight,允许开发者一键点击发布一个模版。我们曾花了20多分钟创建一个模版并上传到TestFlight,现在可以自动完成这整个过程了。

  我向任何面向iOS开发内容的人强烈推荐TestFlight以及AutoPilot。

  UnityVS

  UnityVS对于任何在开发Unity游戏过程中将Visual Studio作为主要IDE的人来说都是一项重要工具。UnityVS允许你将一个调试器附加到Unity,两者设置断点并单步调度代码。它并不支持调试器的完整功能(例如更改电源执行线)但它确实完成了调试所需的大量任务。它是找到代码漏洞的标准Debug.Log()的出色替代性选择。它与Unity和Visual Studio的整合相当妥当,尽管还是存在一点小怪癖。

  项目结构

  我们的项目结构与周围所知的人的Unity设置相比显得相当标准。我们将场景、脚本、图片等元素打入特定目录以尽量在项目发展过程中保持条理性。我们还使用了一些我认为值得一提的关键技巧。

  单个场景文件

  我喜欢将场景文件数量控制在最小范围内。如果有可能的话,我们习惯将主菜单、游戏内部和暂停状态纳入单个场景中。这让我们得以完全控制关卡之间的加载时间,并让我们无缝隙地从游戏切换到菜单。我们过去在制作原型的过程中曾因此获得成功,但BG2会成为我们使用单个场景的首款发布游戏。

  除了单个游戏场景,我们还有一个简单的启动画面,以便确保能够在iOS要求的时间内载入内容,这样我们的应用才不会被中止。我们通常还有一个展示公司logo和电影的介绍电影场景。

  开发过程中的多场景文件

  单个场景文件设置的一个注意要点就是,我们在开发过程中将菜单和游戏内部状态划分成不同场景。当Menu.scene处于编辑状态时,我们就使用LoadLevelAdditive()载入游戏内部状态。这得以让我们在快速访问玩法,而无需通过InGame.scene文件处理菜单的情况下,从Menu.scene中体验完整的游戏。

  全局目标

  我们有一个用于存储游戏中相关共享目标的“Global Object”GameObject。这可以在无需在运行时间中查找,就能让多个GameObject分享一个引用,并允许你在无需记住和找到每个访问它们的GameObject的前提下更改引用到单个场所中的目标。

  未来计划

  我们目前还有一些未能使用,但会在未来项目中运用到的计划。

  单元测试

  Unity最近发布了一系列单元测试功能。我是单元测试和Test Driven Development(TDD)的超级粉丝,这也是游戏开发落后其他软件开发的领域之一。对于我们使用MVC模式的项目,我尽量使用TDD。我认为内置单元测试功能可以填补这个空缺,并允许我们的更多代码在未来进行单元测试。我们还没有开始使用这一方法的唯一原因就在于,它对我们来说太新了。

  Asset Store工具

  我习惯将我们内部使用的一些工具推向Asset Store销售。这可以促使我将它们制作得更健全,并令我们所完成的工作产生二次收益。正如我之前所言,我从自己的好友听说过一些向Asset Store发布产品的好处,我将其视为回馈Unity社区的一个绝佳途径。

  总结

  这是我们第4款游戏如何使用Unity的快速总结。你推荐哪些第三方工具呢?你如何布署自己的Unity项目,对其他开发者又有什么建议呢?

声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。