优化控制、内存和Greak:的构建大小。《Azur的回忆》的Android移植

ADAM AXLER / UNITYSenior Content Marketing Manager
Jul 29, 2025
《Greak: 《Azur的回忆 | Navegante
为方便起见,此网页已进行机器翻译。我们无法保证翻译内容的准确性或可靠性。如果您对翻译内容的准确性有疑问,请参阅此网页的官方英文版本。

在2021年8月,Navegante发布了Greak:《Azur的回忆》同时在下一代主机和PC平台上线上和线下发售。在过去的四年里,团队与社区保持紧密联系,分享获奖消息和许可机会,帮助他们将知识产权扩展到游戏之外。

在过去的一年里,他们发现了一个来自Google的优秀项目,拉丁美洲的工作室获得支持,将他们的游戏带入Google Play Pass。

我们与Navegante的联合创意总监兼首席程序员Rodrigo Fernandez,以及工作室的首席制作人Anahit Fernandez和高级程序员Nestor Gomez进行了交谈。三人讨论了团队在将该标题移植到安卓时所经历的困难。

祝贺Greak:的发布。《Azur的回忆》在Google Play Pass上。为什么团队在四年后决定将游戏移植到移动设备?

Rodrigo Fernandez:随着移动游戏生态系统在过去几年中的成熟,我们非常好奇,尤其是在看到许多优秀的独立移动游戏接触到新受众之后。所以,我们开始寻找机会,并发现了一个来自Google的优秀项目。

将游戏移植到移动设备的最大挑战是什么?

Rodrigo:最大挑战是重新设计触摸屏控制和较小屏幕尺寸的限制。我们有一些小的着色器问题需要修复。我们还在更仔细地查看优化,并在游戏中添加性能选项。

Nestor Gomez:确保游戏在尽可能多的设备上运行良好,并决定其最低和推荐规格大小带来了最大的困难。我们必须在提供出色的玩家体验和最大化覆盖范围之间找到良好的平衡。

Anahit Fernandez:在商业方面,我发现移动商店与PC和主机的商店不同,这很具挑战性。从创建商店素材和撰写描述到确定定价和其他细节,这都是一次巨大的学习经历。

《Greak: 《Azur的回忆 | Navegante
《Greak: 《Azur的回忆 | Navegante

重新设计触摸屏控制的方式是什么?

Rodrigo:我们尽量保持体验尽可能接近完整的控制器。然而,有些按钮组合无法很好地复制,例如组合按钮以执行某个动作或需要更多灵活性的机制。在这些情况下,我们不得不重新调整游戏的某些方面,以使其更易于访问,或者完全重新设计它们。

Nestor:我们通过玩其他移动游戏进行了一些研究,并对控制设计进行了迭代,以确保它们感觉舒适和直观。我认为我们找到了一个玩家会喜欢的良好布局。我们也非常自豪能够支持外部控制器,为玩家提供类似主机的体验。您可以随时在触摸屏和外部控制器之间切换。我们希望玩家喜欢这个。

《Greak: 《Azur的回忆 | Navegante
《Greak: 《Azur的回忆 | Navegante

团队如何确保移动设备上的流畅战斗表现?

Rodrigo:由于可用的移动设备种类繁多,我们添加了额外的设置,让玩家可以调整渲染质量和目标帧率。因此,即使在低端设备上,玩家也能获得流畅而有趣的体验。

Nestor:我们花了大量时间优化CPU、GPU、内存和构建大小。使用Unity Profiler以及其他可用工具,我们进行了几轮优化,并在不同设备上测试游戏以衡量我们的进展。不断测量不同设备上的FPS、内存使用和构建大小,使我们能够跟踪当前状态以及需要多少额外的优化。

《Greak: 《Azur的回忆 | Navegante
《Greak: 《Azur的回忆 | Navegante

你是如何在减小游戏体积的同时保持游戏质量的?

Rodrigo:鉴于移动设备仅限于小屏幕尺寸,我们专注于降低艺术素材和视频剪辑的分辨率。我们进行了大量内部测试,以确保这些更改使我们能够拥有较小的下载大小,而不会被察觉。

Nestor:由于游戏是为更大屏幕构建的,我们知道大多数纹理有额外的分辨率。我们检查了数百个纹理,看看是否可以缩小它们的尺寸。我们还为每个纹理选择了合适的纹理格式,以节省内存和构建大小。通过这样做,我们能够将构建大小减少近50%。

《Greak: 《Azur的回忆 | Navegante
《Greak: 《Azur的回忆 | Navegante

你采取了哪些步骤来优化游戏以适应广泛的设备?

Nestor:第一步是测量一切。我们使用了Unity Profiler、Frame Debugger、Memory Profiler,以及一些外部工具,包括Android Studio和Asset Studio。我们的一些技术包括对象池、使用ETC2压缩纹理格式、启用多线程渲染、减少不必要的绘制调用、缩放游戏摄像机渲染以及清理资源文件夹。

哪些Unity工具和功能最有帮助?

Nestor:我们在这个移植过程中使用了很多工具和功能。Unity Remote帮助我们模拟触控输入,而无需将新构建部署到设备上,Patch and Run选项使我们显著减少了构建时间。

Unity Profiler帮助我们识别了提升性能的机会。我们喜欢时间线视图,它提供了每一帧发生的事情的良好视图。通过Memory Profiler,我们识别了加载的不必要资源,从而节省了一些宝贵的内存。为了快速读取内存使用情况,我们使用了Android Logcat包,这对于检查设备上的消息也很有用。

Frame Debugger是识别破坏批处理的好方法。在设备和编辑器上运行它是关键。能够直接从Visual Studio在设备上调试也对在编辑器中无法复制的问题很有帮助。

我们没有像希望的那样广泛使用C# Job System。然而,我们将我们的视差系统转换为使用IJobsParallelForTransform,以并行运行一段代码在数百个精灵上,从而节省了一些毫秒的CPU时间。我们计划在未来的项目中更广泛地使用它,以利用它所能提供的性能提升。

《Greak: 《Azur的回忆 | Navegante
《Greak: 《Azur的回忆 | Navegante

你对希望将PC和主机游戏移植到移动设备的开发者有什么最大的建议?

Nestor:尽快并尽可能频繁地在设备上进行测试。这涉及到从触控控制器、字体渲染、用户体验、性能、内存使用、构建大小到工具兼容性的一切。根据你计划支持的内容,你还应该有低端和中端设备可供测试。

Anahit:首先专注于你的主要平台进行发布,然后在团队有能力时扩展到其他平台。在我们的案例中,社区给予了我们极大的支持。尽管自从Greak:已经过去了几年。《Azur的回忆》首次发布时,围绕这个Android版本的兴奋感让这个过程变得值得。

现在Greak:《Azur的回忆》已在Android上发布,接下来是什么?

Anahit:我们正在开发我们工作室的第二款游戏,计划在今年晚些时候宣布!

要了解更多关于使用Unity制作的项目,请访问资源页面