近日,盛趣游戏和AKB48 (China)共同推出的偶像经营互动手游《樱桃湾之夏》正式迎来全平台上线。细腻的画风、精良的制作加上AKB48日本国民级偶像IP,让这款游戏在去年12月公测之初就收获了一波良好口碑,开放测试第一周即轻松突破50万预约,正式上线后更是在获得苹果APP Store精品推荐后又登顶TapTap新品榜榜首,实力演绎“格子裙经济学”的魅力。
依托AKB48的偶像流量优势,《樱桃湾之夏》在内容和制作上都有不俗的表现。在游戏中,玩家不仅能听到AKB48的正版歌曲曲库,参与偶像工作现场、表演、记者会等环节,从视觉到听觉打造百分百的临场感,更可以打破次元壁,通过游戏为现实中的AKB48成员进行应援打榜。可以说这款游戏是为粉丝们打造了一场全方位的视听盛宴。
如今市场上的二次元游戏种类繁多,质量也是参差不齐,如何在二次元游戏市场竞争中脱颖而出成为游戏厂商所考虑的焦点问题。而作为国内顶尖的游戏研发公司之一,盛趣游戏给出了自己的答案。
盛趣游戏副总裁谭雁峰在此前接受采访时表示:“二次元是个很宽泛的题材,我很难给它一个准确的定义。这个过程中我们把二次元领域做了分类,有四十几个领域,我可能针对其中几个领域,比如专注古风二次元,二次元音乐,缩小范围并寻找更深层次突破的东西,而不是做泛二次元。你只有更专注,才有可能做得比别人更好。”
此次以全球人气偶像组合AKB48为题材背景的新游《樱桃湾之夏》更像是盛趣游戏在二次元游戏上的又一次专注的尝试。该游戏以偶像互动养成和娱乐公司经营玩法为核心,精美的人物形象、丰富的互动玩法和好感度系统等颇受玩家追捧。今天,我们就针对玩家与开发者关心的游戏创作过程对盛趣游戏传奇工作室进行了采访。
01、《樱桃湾之夏》被誉为目前所有AKB48正版授权游戏中制作规格度最高,内容最丰富,对偶像成长还原度最高的游戏深受玩家的喜爱.可以谈谈选择Unity游戏引擎开发这款游戏的原因吗?
首先,我们的游戏类型决定了游戏中会有大量的剧情过场动画,演唱会舞蹈表现等系统,都需要精确的控制游戏场景中的各类物体,如演员,灯光,特效,动作,口型表情等等,所以一个易用,高效,且可以扩展定制的编辑工具是我们非常需要的。而Unity游戏引擎中的Timeline系统刚好满足我们的所有需求。然后,针对游戏的业务需求,我们围绕Timeline系统全面定制了一套高效的工作生产流程,这使得我们团队在快速迭代和效果调整时,能够非常的高效。最后,我们是新组建的一个年轻的团队,Unity引擎简单易用的特点也是我们选择Unity的重要因素。02、游戏中偶像的舞蹈动作真实而且流畅,你们是采用了何种的优化技巧呢?可以跟大家分享下吗?为了最大程度保证游戏舞蹈动作的真实性,针对游戏中所有的舞蹈动作,我们都采用了全程动作捕捉的方式来进行制作。由于游戏中的舞蹈动作都是真实还原AKB48的舞蹈动作,需要动作捕捉演员对每首歌曲的编舞都非常熟悉。为此,每次动作捕捉都会有相当长的前期准备工作,团队中专职负责舞蹈指导的策划与动画师会提前与动作捕捉演员进行沟通交流和动作指导,保证了动作捕捉过程可以更高效的进行。并且在动作捕捉当天,团队中的动画师与舞蹈指导也会在现场一起参与录制。通过观察演员的动作以及电脑屏幕上的数据,在现场提出一些建议,也对产出高质量的动作捕捉数据有非常大的帮助。为了最大程度的保证舞蹈动作的流畅性,游戏中都是采用完整的连续动画来进行播放,而并不是采用动作片段进行拼接和复用,对技术来说,这一部分动画数据会占用大量的内存。为了解决这一问题,我们通过去除AnimationClip中的无用曲线,调整float精度,采用Optimal压缩方式等一系列方式,在性能与效果之间找到一个合理的点。最终达到了我们所追求的舞蹈动作真实而且流畅的效果。03、关于游戏中炫酷的次世代卡渲画风、游戏中细致的描边效果、主机级别舞台光影表现、精美的服装给人印象深刻,可以和广大的开发者分享一下制作经验吗?在我们立项初期,对于人物美术风格的选择,有多条路线并行研究,最终,结合市场情况以及团队情况,选择了偏写实的卡通渲染风格。确定风格后,团队中的程序以及美术会对原画效果进行引擎中的还原。在迭代了多个版本之后,最终实现了呈现在大家面前的这一效果。为了实现比较好的描边效果,我们会在模型导入的时候自动计算一套新的顶点法线用来做描边的扩展方向,这样实现出来的描边更均匀细致,同时,我们在绝大多数的设备开启了MSAA来避免特别细的描边产生的锯齿。为了实现偏写实的卡通渲染风格,我们在Unity自带的Standard Shader的基础上做了修改,替换了漫反射和环境光部分的实现,保留了高光和阴影,增加了各向异性的高光,使得美术既可以实现二次元感觉的皮肤和头发,又可以实现一些PBR材质如皮革和金属等的效果。在服装方面,为了满足美术同事对角色服装材质多样性的需求,同时降低不同材质带来的drawcall数量的增加,我们实现了单个Pass支持多种材质的复合Shader,例如我们目前一件衣服上能同时有自发光,宝石,闪点,镭射及薄纱等多种材质。在后处理方面,我们在Unity官方提供的PostProcessingStack的基础上作了一定修改,使用了其中的Bloom和DOF效果来增强角色和舞台效果。在一些中高端机型上,会开启HDR, 使得Bloom效果更好。而整体的舞台光影表现,是通过各个环节的配合不断打磨而成的。场景的制作,镜头的控制,特效的表现,舞蹈的编排,人物动作表情眼神的控制,荧光棒的节奏,环环相扣,每一个环节的都需要高质量的完成,每一步完成后,都会集成进我们定制的Timeline系统中,并由专业人员进行验收反馈,提出意见不断迭代,直到效果满意为止。04、回顾整个的开发流程,你认为遇到最困难的部分是什么,是怎么解决的呢?
有两个点,其一也是我认为最困难的是游戏中的巨蛋演出的优化,这是一个会有12人同时跳舞表演的玩法,需要在保证画质的前提下,适配市面上主流手机。为了满足这一需求,我们做了大量的优化工作。
为了减轻CPU计算压力、减少DrawCall,第一:我们做了大量的LOD方面的处理,包括模型的LOD, Shader LOD, 特效LOD等等,第二,相应地调整镜头的运动轨迹,避免近景出现大量高精度模型和材质。第三:为了体现巨蛋的感觉,需要场景中数量非常巨大的荧光棒来衬托场景的宏大,所以我们使用了Animation Instancing的技术来尽量减少DrawCall。其二,我觉得布料模拟也是一个难点,由于移动平台的性能限制,没有办法使用真正的软体模拟,所以在项目中前期,我们采用的是开源的UnityChan中的SpringBone系统。但这套链式的动态骨骼在人物动作较大时,很难避免的会造成穿模的情况。为了解决这一问题,我们项目组在其基础上,定制添加了横向约束力的限制,相当于一个简化版的网格碰撞,很好的解决了穿模的问题。如下图所示,添加了横向约束力后,相邻骨骼会随着碰撞体一起向正确的方向移动,而不是往两旁散落。加入了这套系统后,虽然模拟效果达到了我们的需求,但计算量也大增,为了解决这一问题,我们将引擎升级到Unity2018,使用引擎新增的Job System和Burst Compiler等功能,将上述的动态骨骼计算重新改写,将计算过程放在Job线程中进行,这样极大的优化了我们因为动态骨骼导致的卡顿。经过以上一系列优化,我们对最终游戏中的布料模拟的效果和性能都很满意。05、在实际的开发中,你觉得Unity哪些功能帮助最大,可以分享给开发者吗?Unity引擎的简单易用的特点帮助我们快速迭代产品,同时Asset Store中有非常多的高质量插件帮助我们节省了大量的开发时间。Unity引擎本身也不断迭代,上文中提到的Timeline系统,JobSystem及Burst Compiler等对我们提供了非常大的帮助。同时Unity有非常良好的社区交流氛围及技术开发支持,这些都对我们的开发有非常大的帮助。Unity还有非常多强大的新功能,例如SRP,Addressable Asset System, DOTS等等,我们也已经在研究和学习,计划在后续的项目中使用。06、Unity技术支持团队提供了哪些帮助,帮你们解决了哪些难题?
我们的项目从立项起就与Unity大中华区的技术支持团队保持了良好的沟通,在项目前期,对引擎版本及一些官方功能的选择时,技术支持团队给了我们很多建议。而项目中后期时,针对一些优化难题和异常崩溃,例如一些特定机型的渲染崩溃,Mono内存的优化等等方面,Unity的技术支持专家们也会结合项目的实际情况,帮助我们尽快解决问题并提升产品质量。07、后面计划还有采用Unity 引擎开发的作品吗?目前我们在不断迭代已有的相关制作流程和技术模块,正在预研和准备新的项目,敬请期待我们的后续作品,非常感谢能参与此次的Unity组织的 MWU采访活动,谢谢你们。采访到此结束,未来我们也会继续给广大的开发者带来更多的优秀的Made With Unity行业的案例与技术干货。