新推出的游戏聚焦系列博文将介绍Unity在当下、明年和未来为游戏开发所做的工作。在系列第四篇博文里,我们将介绍Unity的现状、即将发布的计划以及未来的愿景,即如何在多种平台和硬件形式上接触到更多的玩家。
我叫Nick Rapp,是Unity平台工程团队的高级主管。我在这里工作了7年,游戏平台上工作了12年。我大半职业生涯都是关于帮助开发者制作和交付高质量游戏,这也正是我们团队一直在做的事情。
你们的精彩游戏激励着我们前进,也是我从事这份工作的原因。本文由我和产品管理团队的同事Martin Best、James Stone和Frederic Garnier合作编写而成。
我们对游戏聚焦的补充,将着重介绍各种目标平台以及Unity在帮助游戏登陆更多平台和硬件、接触到更多玩家上的作用。我们在去年新支持了一个新平台并简化了游戏登陆现有平台的流程。尽管目前引擎已经能在所有主流平台上部署,但我们仍在大家的反馈中找到了许多改善机会,所以这里我们将分享整体的未来发展规划。一起来了解下吧。
nity向来希望支持用户想要登陆的平台。我们与各大平台深入合作,以保证开发者及其游戏能有最好的产出。我们的目标是帮助你以流畅的流程和尽可能高的性能接触到尽可能多的玩家,通过发掘必要的平台特性,帮助游戏脱颖而出。
Unity提供有一个广阔的平台支持和技术整合生态。今天,我们支持20多个平台的整合,且我们的优势之一便是第一时间支持新平台。
Unity引擎以其移动端市场占有率而闻名,但我们也清楚有许多人希望将内容搬到所有主流平台上——无论是移动端、手持设备,还是台式机和游戏机,或是XR。
我们在本节中谈到的所有内容或者已经在Unity 2021 LTS、Unity 2022.1 Tech Stream中交付,或者已经加入了2022.2 beta,即将包含进下一个Tech Stream版。要想详细了解Unity beta测试,并帮助我们塑造Unity平台的未来,请访问我们的beta论坛。
我们知道把握新平台刚发售的时机有多么重要。在2021.2和2021 LTS里,我们为编辑器添加了Apple silicon的原生支持,让你在苹果过渡到新架构之际仍能有最佳的创作体验。对于2022.2,我们增加了对PlayStation®VR2的支持,我们期待着看到您的游戏在该平台上大放异彩。
我们还在继续改进移动端的开发。只有开发者在移动端取得成功才有我们的成功,因此我们一直在想方设法地帮助您节省时间、金钱和精力。今年的改进包括Android的快速部署,支持内容更快部署到设备、在编辑器内配置gradle,以及对Android和iOS主要工具链更新的支持,确保内容能兼容最新设备。
为了保证开发者可以有更多交付移动游戏的选择,我们也将继续关注移动端网页。2022.2将为WebGL的部署带来触摸键盘和移动端纹理压缩格式的支持。我们也终于移除了移动浏览器的警告信息,这对于正式支持移动端网页、推广部分开发者的成功途径来说是一大进步。
对于移动端和网页端,内存管理始终是一个挑战,因此我们一直在研究更好的内存分析手段。我们新的覆盖诊断工具可以测量WASM和JS的内存使用情况,新的运行版设置支持调整初始的WASM内存堆大小和增长特征,可帮助你更好地管理浏览器里的内存占用。
最近的图形博文谈论了Unity的各条渲染管线。这里我们将讨论为改善管线的日常使用所做的工作。
这些工作的其中一个重点是改善所有平台上的图形性能。在为性能和稳定性做出大量工作后,DirectX12后端已经在2022.2里结束了预览阶段,并推荐用于Windows和Xbox开发。视项目而定,特别是在绘制调用频繁的场景里,DX12的性能可以与DX11持平或更高。
为了改善所有平台的运行时着色器性能和内存管理,我们首先通过异步创建PSO来改进着色器的预热。在用现代图形API时,着色器运行时的编译将作为管线对象创建的一部分进行,这可能导致着色器预热时出现卡顿和延迟。新优化会利用多线程创建管线对象来加快着色器预热,缓解运行时的卡顿现象。
此外,我们还改进了着色器资源重复利用和动态着色器加载。动态加载会将着色器数据块流传输到内存中,并根据用户划定的内存预算,释放不再需要的着色器数据。
这里只列出了部分让人兴奋的功能和投入,它们有助于改善引擎的平台支持,帮助你交付高质量的游戏,在多个平台上接触到尽可能多的热情玩家。我们知道稳定性和游戏发售仍是开发者最为关心的事项,这对我们也是一样的。我们团队仍会投入大部分时间在修复bug、SDK更新和认证达标上,保证引擎能在20多种平台上流畅运行。
除了不断支持您兼容和部署现有平台外,我们希望与你对话,并介绍我们的长期愿景。
要想把游戏带到更多的平台上,光有部署的能力并不够。我们明白游戏在发售时仍涉及大量工作。在未来,我们希望解决这个问题,让你真正做到一次创作,之后可以在各个平台发售。
我们想更好地帮助你准备审核,尽量让提交过程的最后一分钟不出意外。因此我们打算先倾听大家在这部分遇到的最大痛点。
到年底,我们会根据各位的意见制定产品计划,试着填补游戏发售的信息空白。目前我们正对大家提出来的需求进行排序,但我们已经了解到,你们希望API能够抽象地列出常见的平台要求,如用户管理和成就,减少为特定平台编写代码的工作量。大家还需要集成在引擎里的检验工具,在提交游戏前就发现问题,减少发售所需的审核次数。
此外,市场上总会有新的平台、商店和分销渠道推出。正因为如此,我们正在开发工具来帮助你管理这些复杂多样的终端,并且正在探索一种新的开发模式,使我们能以标准化的方式支持新平台。我们的目标是让你能接触到更广的平台和相关技术生态,将游戏带给任何地方的所有玩家。
如果你想加入对话,可以在论坛上分享你的反馈。
上手主机开发需要首先取得平台运营商的批准才能获取Unity平台模块,这是第一步。我鼓励大家不仅要利用Unity资源,还要利用我们合作伙伴帮助开发者在Xbox、PlayStation及其他平台上发布的资料。
请在此处了解Unity的多平台开发,并了解那些充分利用了Unity平台生态的创作者们,包括《深海迷航》、《Ori: Will of the Wisps》、《Crying Suns》《Last Stop》、《Greak: Memories of Azur》和《Rollerdrome》。
最后,请在我们的电子书Five foundations for successful multiplatform games(成功平台游戏的五个基本经验)里了解为什么要接触所有平台的玩家。这本电子书请到了业内资深人士来分享如何预测潜在的开发成本、找到主要的开发障碍、确定开发管线的优先次序、优化每个平台的玩家体验,以及最大限度地发挥多平台的市场潜力。