- 0
- 0
- 0
分享
- 虚幻引擎5.2带来对Apple Silicon的原生支持以及针对macOS的其他改进
-
2023-06-13
从虚幻引擎5.2开始,macOS版虚幻编辑器将以通用二进制文件的形式构建和发布,在一套软件包中原生支持上一代基于Intel处理器的Mac和这一代基于Apple Silicon处理器的Mac。这篇技术博客文章将阐述此事产生了怎样的意义,它会如何影响你在使用macOS时的工作流程,以及为该平台开发支持功能的开发者将来需要满足哪些要求。我们也会简要介绍为macOS提供的一些额外新功能,包括允许该平台使用更多虚幻商城资产,并新增对Nanite的实验性支持;我们还将概述虚幻引擎在该平台上的限制。
macOS通用二进制文件是什么?
对于未来的应用程序,将项目构建成通用二进制文件是一种更优的做法,换言之,即构建同时支持x86-64和ARM64的二进制文件。如此一来,只需要提供一套可分发文件,就可以让应用程序原生运行在上一代基于Intel处理器的Mac和这一代基于Apple Silicon处理器的Mac上。
虚幻引擎在5.2版本中对Apple Silicon的支持情况如何?
虚幻引擎从5.0版本开始,就提供了对Mac通用二进制文件的支持,但支持范围仅限于打包UE项目的独立构建。在UE 5.1中,对于通过原生ARM64二进制文件运行UE的源代码构建,我们提供了Beta阶段的支持,但UE的编辑器构建仍然依赖Rosetta。在UE 5.2中,我们正式发布了预构建的通用二进制版虚幻引擎,用户可通过Epic Games启动程序下载。
这对于将来在macOS上使用虚幻引擎有什么影响?
首先,在macOS上运行虚幻引擎5.2的用户必须满足以下开发要求:
最低的macOS版本:12.5 Monterey或更新版本
推荐的macOS版本:最新的macOS Ventura
最低的Xcode版本:14.1
对于虚幻商城资产在macOS平台上的可用性,这产生了怎样的意义?
如何为虚幻编辑器启用对Apple Silicon的支持?
通过源代码构建编辑器时,若要创建通用二进制文件,你需要明确选择“x64+arm64”架构进行构建,因为命令行默认会构建x64架构的文件,而Xcode则会默认参照宿主机器的架构。如需详细了解该过程,请参阅文档中的这篇文章。
编辑器原生支持Apple Silicon将带来哪些益处?
此外,在搭载Apple Silicon的Mac上运行编辑器时,你将察觉我们对用户体验做出的一些改进。这包括修复了对窗口焦点的处理,改进对这一代Mac屏幕顶部“刘海”的支持。
虚幻引擎对macOS的支持存在哪些限制?
Nanite依赖图像原子技术和前向执行保证,而Apple M1设备可能不支持它们。在搭载了M2芯片的Mac上,我们提供了对Nanite的实验性支持,但它默认处于禁用状态,如要启用,则需要注意一些问题(详见下文)。我们希望将来能在Apple Silicon设备上完整启用Nanite,但目前的支持尚不完善。
设置为使用Nanite的Quixel资产将回退到其非Nanite版本。在其他方面,它们将按预期发挥作用。
由于Groom依赖图像原子技术,因此我们目前在macOS上尚不支持头发/毛发/Groom发束,但支持发片和头发网格体。
硬件加速的光线追踪目前不支持macOS。该限制导致Lumen只能在Apple Silicon设备上使用软件光线追踪。与硬件光线追踪相比,软件光线追踪的结果质量较低(例如反射细节较少,动态网格体在其中不可见)。
抗锯齿性能:默认的抗锯齿模式——时序超级分辨率(TSR),目前在Apple Silicon设备上受到软件和硬件的限制,因此运行时成本不如其他平台那么理想。我们正在研究这个问题,希望在将来的版本中改善运行时性能。在此期间,如果你希望切换到其他抗锯齿模式,可以在项目的设置中搜索“抗锯齿”,然后选择一种备选方法。
如何在M2设备上启用对Nanite的实验性支持?
在UEBuildMac.cs(Engine/Source/Programs/UnrealBuildTool/Platform/Mac/UEBuildMac.cs)中,设置PLATFORM_MAC_ENABLE_EXPERIMENTAL_NANITE_SUPPORT=1。
在spirv_msl.hpp中,启用UE_EXPERIMENTAL_MAC_NANITE_SUPPORT。
按照UEBuildMac.cs中的说明重新构建ShaderConductor。
在Data Driven PlatformInfo.ini(Engine/Config/Mac/DataDrivenPlatformInfo.ini)中,设置bSupportsNanite=true和bSupportsUInt64ImageAtomics=true。
启用该支持时需要谨慎,存在几个注意事项。首先,这种方法仅适用于M2硬件。其次,由于尚未经过彻底测试,其性能和可靠性无法得到保证。如前所述,这种支持是实验性的,旨在为未来的虚幻引擎版本和未来几代Apple Silicon硬件提供进一步支持铺平道路。我们希望收到你的反馈,请在我们的Epic开发者社区论坛上发表意见。
近期焦点
-
阅读原文
* 文章为作者独立观点,不代表数艺网立场转载须知
- 本文内容由数艺网收录采集自微信公众号虚幻引擎 ,并经数艺网进行了排版优化。转载此文章请在文章开头和结尾标注“作者”、“来源:数艺网” 并附上本页链接: 如您不希望被数艺网所收录,感觉到侵犯到了您的权益,请及时告知数艺网,我们表示诚挚的歉意,并及时处理或删除。