我们对于移动平台支持的目标
传统上,由于移动设备在硬件上存在局限性和差异性,我们在为桌面电脑、安卓设备和苹果设备开发项目时往往需要采用不同的渲染管道,并且某些渲染功能只会公开给特定的平台。然而,我们的长远目标是让这些不同平台在画面的真实度、运行流畅度以及功能的可用情况上保持一致。为此,我们正努力确保在以后发布的引擎版本中,能更快地为移动设备开发出与PC级渲染功能旗鼓相当的功能。例如,我们已经为移动设备提供了网格体自动实例化功能,而且不久之后我们还会为移动设备带来虚拟纹理功能以及PC设备才有的前向渲染功能。
新的默认功能等级
为了支持这一举措,我们充分利用了过去几年间移动设备在硬件上的改进,逐步提升了移动设备的基本功能等级,使它们能够达到近似的标准。在虚幻引擎4.23版本之前,OpenGL ES2是虚幻引擎在开发安卓类项目时默认的功能等级。然而,在4.23版本发布后,安卓项目的最高默认特性级别变成了OpenGL ES3.1。而在虚幻引擎4.25版本中,我们将彻底停止支持OpenGL ES2。
同样,由于虚幻引擎从4.25开始将把iOS 11作为iOS系统的最低支持版本,所以我们会把Metal的最低支持版本升级为2.0,并停止支持Metal 1.2版本。
由于ES3.1和Metal 2.0在功能上非常相似,升级功能等级将有助于简化未来iOS设备和安卓设备间并行功能的开发过程,此外,这还有助于手游在使用今后的引擎版本开发时能够更加容易地改进技术。这一变动还能使美术师所使用的引擎工具和功能更为一致,从而有助于美术师使用虚幻引擎为手游创建资源。
在虚幻引擎4.24中使用ES2和Metal 1.2
用户在将虚幻引擎升级为4.24版本时需要注意几点。虽然这个版本仍然支持ES2和Metal 1.2,但是我们已经逐渐开始弃用它们。如果用户的开发项目仍然需要依赖这些功能等级,那么他们就需要采取一些特定措施来继续使用它们。在升级到4.24时,如果你原本使用的引擎版本默认支持的是ES2,而且你从未在项目设置中更改过功能等级,那么ES3.1将自动作为你的项目的新默认设置。如果你想继续使用ES2,你就需要在“项目设置”中手动启用它。该设置位于“平台”>“Android”分段的“构建”分类中。
类似地,如果你的项目默认使用的是Metal 1.2,那么当你升级到4.24版本后,你的功能等级会自动更新为Metal 2.0,作为项目的新默认值。如果你想继续使用Metal 1.2,你就需要手动覆盖它。与ES2不同的是,你无法继续在“项目设置”界面中启用Metal 1.2。相反,你需要按照以下提示对项目的*Engine.ini 文件进行相应更改:
[/Script/IOSRuntimeSettings.IOSRuntimeSettings]
MaxShaderLanguageVersion=2
只要按以上方法设置,你在更新到4.24版本后就应该能保留对老版本设备的支持。但请注意,4.25及后续版本将不再提供此方法。