《不可思议之梦蝶》开发经验分享
在ChinaJoy 2018上,来自天津的队友游戏在Unity展位进行了游戏开发经验的分享,今天我们将分享作为独立游戏开发团队,队友游戏是如何使用Unity和Asset Store的精品资源来加速《不可思议之梦蝶》的研发。
https://v.qq.com/txp/iframe/player.html?vid=f0760nykjsd&width=500&height=375&auto=0
团队介绍
作为独立游戏团队,队友游戏仅有一个17人的小型团队,其中CEO李喆负责管控技术和进度,合伙人大圈负责创意和美术,另有3名关卡设计师,3名原画/2D动画师,2名建模师,1名3D动画师,4名程序员,1名QA以及1名行政。
他们完成的第一个游戏作品是《鲤》,这款以环保为主题、中国风、体验型的轻度解谜2D游戏,自发行以来受到大家的好评,曾入围2014年洛杉矶IMGA最受期待游戏,获得PlayStation开发者大赛冠军等殊荣。这也是队友游戏第一次使用Unity来制作游戏。
在完成《鲤》之后,他们想做一个更具挑战性的3D原创游戏,这便有了《不可思议之梦蝶》。
《不可思议之梦蝶》
《不可思议之梦蝶》是一款第三人称视角、画风唯美的冒险解谜游戏。游戏讲述了一对兄妹在梦中破解谜题,找寻记忆,救赎与被救赎的冒险故事,构建了一个奇异而美丽的梦境世界。
从早期的《ICO》到近年来的《纪念碑谷》,3D冒险解谜游戏积累了很高的人气,但在中国几乎没有人做过这种类型的游戏,所以几乎找不到拥有这种类型游戏设计经验的关卡设计师。
对于一支没有做过3D游戏项目的独立游戏团队,他们凭借着开发《鲤》所积累的Unity使用经验,通过一步步摸索和Asset Store资源商店的精品资源,最终制作完成了这款游戏。
《不可思议之梦蝶》使用Unity 5.6版本创作,对比现在的Unity 2018版本,功能缺少很多,他们是如何利用Asset Store来满足开发需求加速开发呢?让我们一一为大家揭晓。
动画
首先需要从基本的人物动画开始,Unity的Mecanim动画状态机是支持Root Motion的,所以人物跑动时,脚步是可以稳稳的踩在地面上的。
此外他们选择了Asset Store中一个评价非常高的插件FinalIK,用于解决人物腿部悬空的问题。
Unity提供的免费示例Mecanim Example Scene,帮助他们快速掌握Unity Mecanim动画状态机的使用方法。这个示例非常适合零基础的开发人员进行学习,内容包括:动画分层、动画事件回调、动画速度调整等功能的示例,几乎涵盖了Aminator的所有基本功能展示。
需要特别推荐Unite 2016中《Firewatch看火人》和《ReCore核心重铸》动画开发人员的演讲课程《Mecanim Bonsai》,这会帮助我们清晰的理解Unity动画状态机。
摄像机
摄像机是非常难开发的功能,现在的Unity已经有了非常完整和强大的工具Cinemachine。但是在2016年,这个工具还只是Github上的一个试验性项目。
队友游戏非常早就使用了这个工具,但是当时没有一个特别好的方法来处理旋转和碰撞问题,所以他们自己写了一个控制摄像机的代码,但是这个看起来非常简单的功能,实际非常难做,一直到Demo上线前的几天,还在不停修改摄像机的代码。目前最新Unity版本的Cinemachine功能完整且强大,可以填平摄像机开发的深坑。
最初选择Cinemachine一个重要的原因,是因为解谜游戏经常需要通过镜头语言,为玩家提供解谜线索,摄像机经常需要飞来飞去,Cinemachine设计的Virtual Camera系统非常强大和方便,这让谜题的开发工作轻松了不少。
第三人称摄像机的普通、射箭、观察等几种模式切换,是通过设置多个虚拟摄像机解决的,每个摄像机可以有不同的LookAt点,也有预先设置好的FOV和偏移位置,把这些摄像机都挂在同一个机架下面即可。
强烈推荐Simple Waypoint System, 这个插件可以让一切物体都能非常可控的按照固定的曲线路径移动,当然也包括摄像机。
AI
为了实现游戏中小怪的行为,AI开发也是非常消耗时间的,他们最终使用了BehaviorDesigner和A* Pathfinding Project Pro,制作出设计师满意的AI功能,并且性能消耗也在可以接受的范围内。
原型制作
有一个非常实用的工具贯穿了整个项目,那就是Playmaker。《炉石传说》、《Inside》等知名游戏都使用了这个工具。《不可思议梦之蝶》的开发从设计核心玩法,到灰盒关卡设计都完全使用Playmaker,让设计师在没有开发人员的配合下,可以独立制作原型,进行设计迭代。
在开发阶段,有很多状态机切换的简单程序功能,如果使用CS编写,会让开发人员花费很多时间,解决很多拼写错误等Bug,使用了Playmaker则会大大提升游戏功能开发的效率。
Playmaker的Eco-system是一个扩展系统,大家如果发现Playmaker缺少什么功能,建议第一时间先去Eco-system进行搜索。
后期处理特效
后期处理特效使用了Unity的Post Processing Stack V2后期处理特效包,它可以轻松创建和调整高质量视觉效果,让美术人员不需要理解屏幕后效的渲染顺序,也大大减少了CPU的压力。
请注意:Post Processing Stack V1版本会有着色器编译失败的风险,所以建议使用最新的版本。
着色器
小型的独立游戏团队是没有专门的图形渲染开发人员,所以在开发项目之前,为了学习着色器编写,他们花费了很多时间。直到发现了着色器可视化编程工具Shader Forge。
这款插件可以满足项目中90%的着色器开发工作,无需编码,让艺术家也可以自己制作出需要的效果,大大提高了开发效率。
请注意:Shader Forge已停止更新并开源。如果你使用Unity 2018版本,可以选择Unity内置可视化着色器编程工具Shader Graph,或者选择使用Amplify Shader Editor。
效率
分享队友游戏在开发过程中所使用的一些提高开发效率的工具。
Fullscreen Editor可以随时用快捷键把常用窗口切换到满屏,节约了屏幕的每一个像素。
Hi erachy Pro可以方便的查找和批量修改拥有同样Component的GameObject。例如:删掉导入FBX时带来的空Animator Component,或者在调试性能时,快速开关GameObject,减少鼠标在Hirerachy和Inspector上来回移动的距离。
Easy Main Menu可以快速完成复杂菜单功能的开发。
Rewired则解决了多种手柄适配的问题。
Unity与独立游戏
Unity非常适用于独立游戏开发,没有任何开发经验的普通人,都可以在一二个月以内快速上手游戏开发,如果需要更高级的性能或功能,也可以很方便的进行扩展,利用AssetStore资源商店商店,大大提高了整个工作流程的开发效率,活跃的Unity社区也能够帮助我们快速的答疑解惑。
队友游戏认为用Unity创作独立游戏再合适不过,Unity新的特性迭代非常快,使用成本也很低,最重要的是创作完成的游戏,可以很方便的移植到各种游戏主机平台。
在《不可思议之梦蝶》的开发上,队友游戏用了二年多的时间,如果没有Unity和Asset Store资源商店,完全达不到这么快的速度。新的Unity 2018很棒,所以他们非常期待下一个项目能够用上Unity 2018中的新功能。
资源
下面是在项目中所使用的资源插件。
动画:FinalIK、Mecanim Example Scene
摄像机:Cinemachine、Simple Waypoint System
AI:BehaviorDesigner和A* Pathfinding Project Pro
原型制作:Playmaker
后期处理:Post Processing Stack
着色器:Shader Forge,Amplify Shader Editor
效率:Fullscreen Editor、Hi erachy Pro、Easy Main Menu
Unite 2016演讲《Mecanim Bonsai》
https://www.youtube.com/watch?v=8VgQ5PpTqjc
小结
关于队友游戏的《不可思议之梦蝶》的项目开发经验就分享到这里,我们希望开发者使用Unity创作出更多的精品游戏。
更多Unity项目创作经验分享,请访问Unity官方中文论坛(UnityChina.cn) ! 我们欢迎更多的游戏团队分享创作Made with Unity游戏的经验!
推荐阅读
促销活动
8月Asset Store资源商店促销
8月期间,只需在Asset Store资源商店消费满50-255美元,即可获赠2-6款精品资源,最高消费250美元,更可附赠获得一件Asset Store定制款T恤!
活动地址:
https://assetstore.unity.com/g/august-promo-activation-demo
点击“阅读原文”访问Unity官方技术论坛