Fumi Games 如何在 Unity 中将 2D Animation 与 3D 世界混合于《MOUSE》之中:P.I.招聘

了解 Fumi Games 如何利用 Unity 编辑器的灵活性和可扩展性,构建了一款采用经典“橡皮管”动画风格的第一人称射击(FPS)游戏。
挑战:
解决超过54,000个手绘精灵的压缩和内存限制
平台:
PC (Steam), PlayStation®5, Nintendo Switch™ 2, Xbox Series X|S
地点:
波兰华沙
像《MOUSE》这样的游戏是怎样运作的:P.I.《For Hire》是如何利用Unity实现其独特画风的?Fumi Games推出的这款首款FPS游戏让玩家扮演杰克·佩珀,一位在腐败的莫斯伯格市从退伍军人转型为私家侦探的角色。这个硬汉派黑色电影世界的构思,源于该工作室艺术总监米哈尔·罗斯特克(Michal Rostek)的一幅画作,画中绘制了身穿细条纹西装、手持汤米枪的老鼠。这激发了团队的灵感,促使他们创作了一款采用“橡皮筋动画”风格的完整游戏——这种源自20世纪30年代的视觉表现手法,以夸张的弹跳、拉伸和挤压效果为特征。
Fumi Games 深知要在试玩游戏中重现这种风格颇具挑战,但他们的辛勤付出很快便得到了回报。《MOUSE》的早期预览片:P.I.凭借其独特的视觉风格,《For Hire》迅速走红,在游戏发售前就有超过160万名玩家将其加入愿望清单。
要实现《MOUSE》的艺术风格,需要巧妙融合手绘2D美术与3D环境,采用定制化/自定义的技术流程,并对核心FPS机制进行创新性设计。了解 Fumi Games 如何解决武器穿模、绘制调用和素材资源压缩等问题,从而在桌面端和主机平台上提供流畅的游戏体验。

鼠标:P.I.招聘 | Fumi Games | PlaySide Studios
结果:
- 通过实现分层细节级别(HLODs),性能提升了80%至100%
- 经压缩的超过54,000张手绘动画精灵
- 通过定制化压缩方案,实现了50%至90%的内存节省
- 上线时已有超过160万份愿望清单

研究渲染方案
Fumi Games 构建了《MOUSE》的原型:P.I.最初是在其他引擎上开发的,但后来转为在 Unity 引擎上进行全面制作。“我们团队的大多数成员都已经熟悉它了,”Fumi Games的图形程序员阿图尔·索莱克说道。“《MOUSE》将采用高度风格化的表现手法,我们认为Unity是制作此类游戏的最佳平台。”
通用渲染管线(URP)的作用类似于 MOUSE:P.I.作为 For Hire 的图形基础,因其跨平台的可扩展性和性能而被选中。“我们希望这个项目保持简单,”阿图尔说。不过,Fumi Games 并没有开箱即用 URP。他们对该管道进行了大幅修改,从而创建了MOUSE:P.I.《For Hire》独具一格的氛围,通过添加体积光照和带有手绘云朵的程序化天空盒等定制化功能,进一步增强了其黑色卡通美学风格。

鼠标:P.I.招聘 | Fumi Games | PlaySide Studios
确定视觉方向
鼠标:P.I.《For Hire》的核心视觉概念基于维度的分离:所有场景均为全3D呈现,而敌人、NPC、可交互物体、界面以及玩家的武器则采用2D设计。这种刻意为之的设计,使得角色和兴趣点在游戏的黑白背景中格外醒目。
完全采用黑白配色给关卡设置带来了巨大的挑战。由于无法使用颜色编码——例如,通常将可交互的门或平台涂成黄色的惯例——开发者不得不另辟蹊径,想出新的方法来引导玩家的视线。最终,团队主要依靠定制化的光照方案来引导玩家穿过各个区域。他们还设置了视觉引导线以确保画面清晰易读:交互式对象通过指定的着色和富有弹性的橡胶管般弹跳效果脱颖而出,而静态的3D背景元素则采用灰度渲染,且没有分散注意力的轮廓线。
“3D环境终究只是个背景——它不应该过于显眼,”阿图尔说。“正因如此,我们在任何2D精灵上都不使用光照效果,因为我们希望它们始终保持一致的外观。”

鼠标:P.I.招聘 | Fumi Games | PlaySide Studios

鼠标:P.I.招聘 | Fumi Games | PlaySide Studios
武器贴图
武器则更为复杂。鼠标:P.I.《For Hire》拥有种类繁多的武器库,从经典的“Boomstick”霰弹枪到“Portable Freezer”冰冻枪,每种武器在升级后都具备多种射击模式。武器最多可进行三次升级,升级后其外观和功能都会发生改变,且每个升级阶段都需要独特的动画帧。这意味着,即使是对设计进行最微小的视觉修改,成本也可能极其高昂——仅霰弹枪一项就需要880帧独立动画。“如果我们要修改武器的动画,就必须从头开始整个流程,这可能需要数月时间,”Fumi Games的联合创始人兼首席执行官马特乌什·米哈拉克说道。
Asset Store(资源商店)工具
为了在 Unity 编辑器中管理所有这些动画,该工作室使用了 Unity Asset Store 中 PowerSprite Animator 动画器,他们认为该工具比编辑器自带的动画系统更符合他们的需求。由于“橡胶软管”风格不需要动画之间平滑过渡,因此 Unity 动画系统中的高级功能便显得毫无必要。“这对我们来说更简单、更快捷,”阿图尔说。

解决武器穿模问题
其中一项颇具创新性的技术决策是,将玩家的武器渲染为一个UI元素,而非存在于3D世界中的GameObject。这优雅地解决了FPS开发中一个经典问题:武器穿模,即枪械模型穿透墙壁或其他物体。
然而,这一解决方案带来了新的挑战:如何让枪口火光和便携式冷冻器的光束等3D特效看起来像是从这些2D界面元素中发出的。“解决方法是先计算出该特效在2D视口空间中应从何处开始,然后将该位置移动到3D空间中,正好位于摄像机近平面的正前方,”阿图尔解释道。“虽然很棘手,但我们克服了。”
鼠标:P.I.招聘 | Fumi Games | PlaySide Studios
减少绘制调用
Fumi Games 构建了每一款《MOUSE》游戏:P.I.《For Hire》的3D关卡——涵盖十余种独特的生物群系——采用了模块化设计,其中墙壁、角落和道具均由大量小型网格构成。虽然这种方法具有灵活性,但也导致了大量的绘制调用。SRP Batcher 在解决这一 CPU 瓶颈方面发挥了关键作用,它能够合并数千个对象的绘制调用,从而构建出密集的城市场景。
对于大型开放场景,团队实现了分层细节等级(HLODs)技术,从而显著提升了性能。“我在测试HLOD的实现方案,结果性能提升了80%到100%,”阿图尔指出。

鼠标:P.I.招聘 | Fumi Games | PlaySide Studios
内存管理
鼠标:P.I.《For Hire》的主要瓶颈并非渲染,而是内存分配。该游戏包含超过54,000张独立的精灵图像,要加载所有这些图像是不现实的,尤其是在主机平台上。回顾过去,该工作室表示,这是他们本可以规划得更周全的一个方面,以避免优化方面的难题。“我们其实从未计算过游戏中究竟需要多少个动画。“大家对我们目前拥有的精灵图像数量之多都感到惊讶,”马特乌什笑着说。

《MOUSE》的概念艺术:P.I.由 Fumi Games 和 PlaySide Studios 出品
使用自定义工具进行精灵图打包
Fumi Games 与发行商 PlaySide Studios 紧密合作,开发了一套定制压缩方案,该方案通过分析精灵图的纯色区域,实现了更高效的数据打包。“大家总是先问我们是否考虑过将精灵图设为灰度,”PlaySide Studios的技术美术经理维克多·纳西门托说,“但颜色并不是真正的问题,问题出在压缩算法上。无论是DXT5还是ASTC都无法达到理想效果,因为它们采用的压缩代码块太小,且占用的字节数过多。”
最终的解决方案是将精灵图拆分为多个单元格:如果所有像素颜色相同,则每个单元格存储其颜色;如果颜色不统一,则每个单元格存储指向独立纹理的索引,并将所有颜色不统一的单元格作为小型纹理片段存储在一个名为“重新映射”的大型纹理中。为了将所有内容整合在一起,我们创建了一个脚本导入器,用于将原始精灵处理为“打包精灵”——这是一种可在运行时配合自定义着色器使用的可脚本化对象,其渲染速度几乎与普通纹理相同,但内存占用却减少了50%至90%。

Tammy Tumbler 及其对话动画的重新映射纹理。
重要信息
Fumi Games 将1930年代橡胶软管动画那种令人怀旧、别具一格的魅力,与现代第一人称射击游戏的快节奏动作混合在一起,在竞争激烈的游戏类型中开辟了一片独树一帜的天地。他们的开发历程凸显了灵活的引擎和富有创造力的问题解决方法的重要性。无论是将武器呈现为界面元素,还是修改 URP 以营造出引人注目的黑白美学,抑或是为数万张手绘帧设计压缩方案,Fumi Games 始终在不断突破混合 2D/3D 制作流程所能达到的极限。
鼠标:P.I.《For Hire》在PC和主机平台上的同步发布,彰显了强大的艺术Vision与严谨的技术实现相结合所迸发的巨大力量。对于希望踏上类似征程的开发者,Fumi Games 提供了三条临别忠告:
“一:请坚持使用引擎的长期支持(LTS)版本。二:从第一天起就在配置最低的设备上进行测试。三:“一定要、一定要提前规划好动画的作用域!”
使用Unity制作游戏
构建各种风格的 2D 和 3D 体验,适用于任何平台。Unity 引擎赋予您强大的功能和灵活性,助您实现创意 Vision。