概述
虚幻引擎为开发者提供了高端的渲染功能、高级工具和可伸缩的工作流程,以供为移动端设备开发游戏所用。 要在移动端硬件上实现高保真效果,需要对整个开发过程进行周密的规划和持续的性能优化。
本页以在虚幻引擎中编译多平台项目 页面中介绍的概念为基础,重点介绍如何在移动平台上开发、优化和部署项目。
为虚幻引擎安装Apple和Android构建支持
当你在计算机上安装虚幻引擎时,可以点击选项(Options)按钮,在多种安装选项中进行选择。 在选项菜单中,你可以使用目标平台(Target Platforms)列表,在为各移动平台安装虚幻引擎的同时安装对应的二进制文件。
该二进制文件提供了针对目标平台开发项目所需的必要内容。 软件开发工具包(SDK)和本地开发工具包(NDK)(见本页的打包小节)会为你提供将项目打包到目标平台的必要内容。
启用开发工作的目标平台后,你可以前往本页的 打包 小节,获取打包游戏所需的SDK和NDK。
如需详细了解在安装虚幻引擎时可选择安装的目标平台,请参阅安装虚幻引擎页面。
打包
打包也属于虚幻引擎的构建操作。为移动设备打包存在一些特殊的要求。 就打包游戏并部署到目标设备上而言,各个移动平台都有特定的前提条件和必要组件。 安装了这些前置内容后,构建操作就会以类似的方式运转。
Apple
打包到Apple设备(iOS、tvOS、iPadOS)需要一台装有Xcode的Mac来打包已签名的构建。开发者必须完成Apple开发者页面上的证书签名和配置过程。 如需了解详情,请参阅打包iOS 项目 页面。
Windows用户可以使用特殊的工作流程远程连接至Mac,从而部署构建并烘焙内容。 远程Mac构建页面概述了在Windows上为Apple设备设置远程构建管线所需的步骤。 请参阅Windows Metal着色器编译器页面,了解如何为Apple的Metal API编译着色器。
Android
打包到Android设备需要用到Android Studio,同时还需满足特定的Android NDK和SDK要求。
虚幻引擎用户可以使用Turnkey自动完成设置过程。 如需详细了解Android SDK和NDK的设置,请参阅Turnkey设置页面。
如果你的系统中已经安装了Android Studio或Android SDK,或两者之间存在冲突,那么你可能需要执行手动设置流程。
Android设备的GPU系列各不相同。 有些GPU支持Android Vulkan渲染级别,有些则退回到了OpenGL ES 3.2。
Android商城也各不相同。 请务必查看你的目标商城的指南和要求,以确保目标应用程序大小可以被接受。 如果你使用的是Google Play商店,那么你可以使用Android App Bundle。
渲染功能
相比于台式机和游戏主机的硬件,大多数移动设备存在更多的硬件限制,因此虚幻引擎会根据设备的硬件规格和功能支持情况,为移动设备提供多种渲染途径。 这些渲染路径会针对虚幻引擎的许多渲染功能(如光照和纹理等)使用以性能为导向的模型,并删除了不支持的后期处理效果。
虚幻引擎提供了专为移动设备定制的前向和延迟着色模式,以及对桌面渲染器的支持。 请参阅渲染和着色模式页面,详细了解着色模式及其利用方式。
大多数移动设备都支持延迟着色,延迟着色可以提供增强的光照效果,而且由于减少了材质指令,延迟着色的效率通常更高,对使用了动态光照、实时全局光照和基于距离场的效果(如动态阴影)的项目而言效果尤甚。
请参阅渲染和着色模式页面的移动端延迟着色小节,详细了解移动设备的延迟着色。 对使用预计算光照的项目而言,前向着色存在非凡的好处。
请参阅移动端渲染功能页面,详细了解针对移动设备的整体渲染功能。
优化
优化对任何项目都很重要,对移动平台开发而言更是如此,因为相比于PC和游戏主机设备,移动平台因受限于硬件而性能通常较低,导致优化尤为关键。 因此,必须将优化纳入开发流程,而且要尽早并经常进行优化。
你可以用设备描述和可伸缩性设置按硬件自定义渲染设置。
可伸缩性设置将定义阴影、植被和网格体细节等各个特征的质量级别。 设备描述则会将这些设置映射到与之兼容的设备。 请参阅设置设备描述页面,详细了解设备描述及其设置。 请参阅可伸缩性设置页面,详细了解不同选项的信息。
如需了解详情,请参阅关于Android项目的自定义设备描述和伸缩性页面。
虚幻引擎的许多功能都是通过插件开发的。 这些插件大部分都默认启用,并可以在插件(Plugins)窗口(编辑 (Edit) > 插件 (Plugins))中找到。 针对移动端项目,你可以禁用许多对移动端开发不起作用的插件。 如需详细了解通用的移动端优化步骤,请参阅移动端优化指南页面。
应用程序大小
应用程序大小是部署游戏过程中的重要因素。 各大商城通常都会对可通过无线传输的内容加以限制。 你可以通过几项关键优化来限制应用程序的大小。
你可以通过数据块划分将项目拆分成多个.pak文件,这有助于更高效地整理和交付内容。
针对iOS项目,请参阅iOS游戏包体大小 页面,了解如何优化iOS构建。 针对Android项目,请阅读降低Android二进制文件大小页面,了解如何优化Android构建。
你还可以使用"按需交付内容"系统分离非必要的资产,并仅在需要时才交付。
ChunkDownloader 是虚幻引擎的补丁解决方案,让你可以在运行时从远程服务器下载并挂载内容。 ChunkDownloader可用于按需交付内容,从而让你无需将所有资产与项目打包在一起,从而降低应用程序的文件大小。 请阅读使用ChunkDownloader实现游戏补丁功能了解详情。
Google Play资产交付(GooglePAD)是一种交付大型资产文件的解决方案,用于在Android应用程序安装后为其提供模型、纹理和声音等大型资产,避免了将所有内容捆绑到初始应用程序包中的必要。 这样也可以降低应用程序的文件大小。
调试
在移动设备上进行调试需要使用一系列的工具和工作流程,而这包含了各平台所独有的工具和流程。 这些工具可用于识别游戏中的问题,确保游戏能够在移动设备上流畅运行。
Apple
要在Apple设备上调试项目,你需要使用Apple的集成开发环境"Xcode"。 Xcode为你提供了在iOS、iPadOS和tvOS设备上识别并修复问题所需的工具。 请参阅现代化Xcode工作流程页面,了解支持的工作流程的通用细节。
使用Xcode调试iOS项目页面逐步解释了如何在Apple设备上调试项目。 此外,你还可以参阅
Android
要在Android设备上调试项目,你可以使用Android Studio或Visual Studio。 这两种工具都提供了必要的功能,为你识别并解析在Android设备上运行游戏时出现的问题。
调试Android项目页面逐步介绍了如何开始调试。 Android Studio提供了一款Android 模拟器,让你无需实体设备即可在各种Android设备上测试项目。
你也可以使用Visual Studio,利用Android游戏开发扩展(AGDE)进行调试。
如需了解Google关于ADGE的许可条款的最新信息,请参阅 AGDE简介页面。
你可以使用Android调试桥(ADB)来与Android设备上的应用程序交互。也可以使用Unreal Android文件工具(UAFT),该工具专为处理虚幻引擎应用程序而设计。
移动预览器
移动预览器可以直接在关卡视口中预览关卡在不同移动设备和不同移动渲染途径上的效果。 它适合用于呈现项目的大致情况,但相比于在设备本身上测试,可能无法完全反映实际情况。
对Unity开发者而言,你可能对Unity中的设备模拟器并不陌生。 虚幻引擎的移动预览器就相当于Unity的设备模拟器,但它还具有额外的功能,例如可以在接近你所选设备的模拟渲染环境中预览你的游戏。
启用不同的预览渲染级别时,场景中的材质将被重新编译,以模拟所选渲染器预览的外观和功能集。 你可以使用移动预览器在不同渲染级别之间无缝切换,而无需重新启动编辑器。
如需详细了解如何在具体的设备上使用和测试渲染,请参阅移动预览器。