适用于 Unreal Engine 的启动屏幕
更新时间: 2026年4月17日
当您的应用无法渲染帧时,可以使用启动屏幕。例如,当您的应用正在加载资源、切换关卡或忙于处理其他任务时,可能暂时无法进行帧渲染。一个简洁的启动屏幕能够确保您的应用遵循 Meta Horizon 商店的各项准则,比如要求应用在启动后 4 秒内显示头部追踪图形或加载指示等规定 [待办:验证当前的政策链接]。
Unreal Engine 支持两类启动屏幕:启动图像(我们称之为系统启动屏幕),以及引擎启动屏幕。应用程序在启动时会使用 Android 项目设置中定义的系统启动屏幕。引擎启动屏幕通过 Blueprint 触发,旨在覆盖加载关卡、过场动画以及其他暂时中断头部追踪图形渲染的游戏内过渡效果。所有的启动屏幕都保证以不低于最低帧率的速度渲染。
系统启动屏幕是用户启动应用后最先看到的屏幕。Meta Quest 操作系统将启动屏幕作为一个优先流程实现,允许用户在启动应用后迅速加载该屏幕。
要在 UE5 中添加系统启动屏幕:
- 点击 Edit(编辑)> Project Settings(项目设置)。
- 前往 Plugins(插件)> Meta XR > Engine Splash Screen(引擎启动屏幕)。
- 使用带加号的圆形图标向 Splash Descs(启动说明)数组添加一个元素。
- 点击 Texture Path(纹理路径)中的下拉菜单,然后选择要使用的图片。
旧版指南:Meta 在
Meta XR SDK v62 中结束了对 Unreal Engine 4.27 的支持,并且不会再进行任何更新。以下信息仅供维护现有 UE4 项目的团队参考。
如要在 UE4 中添加系统启动屏幕:
- 点击 Edit(编辑)> Project Settings(项目设置)。
- 前往 Plugins(插件)> Oculus VR > Mobile(移动端)。
- 指定要在操作系统启动屏幕中使用的 PNG 文件。
完成以上步骤后,您可以构建并运行应用。
在运行时启动期间,系统会显示启动屏幕,下方出现全局锁定的 Meta Quest 标准动画加载图标。与内置的 Meta Quest 用户界面悬窗的行为类似,当用户视线过度转向另一个方向时,启动屏幕和加载图标会自动弹回中心位置。当应用开始渲染图形,比如渲染自动加载启动屏幕、标题屏幕和过场动画时,启动屏幕和加载图标又会消失。
系统启动屏幕会根据 PNG 源文件的尺寸自动调整大小和位置。此策略可实现最佳视觉效果。您可以通过增加或降低 PNG 文件的分辨率来控制大小。例如,您可以通过将尺寸加倍来使启动屏幕的大小翻倍。adb shell setprop debug.oculus.ossplash.ratio 命令可以将一个浮点数作为倍数因子应用于启动屏幕的尺寸上,以便进行本地测试。将此值设置为 2.3 可将系统启动屏幕缩放 2.3 倍。
如需了解关于启动屏幕设计的最佳实践,包括推荐的图像尺寸,请参阅
启动屏幕最佳实践指南。
UE 初始化后,系统会显示自动加载引擎启动屏幕。您可以在 Unreal 的用户界面内创建此屏幕。
您不应依赖 Blueprint 函数来加载初始启动屏幕,因为在关卡加载到足以开始处理(触发 BeginPlay)之前,Blueprint 函数不会显示启动屏幕。请记住,当应用首次加载时,也必须加载引擎和渲染器。如果您使用 Blueprint 启动屏幕,用户在屏幕加载过程中可能会遭遇屏幕全黑的问题,这可能会导致您的应用无法通过 Meta Horizon 商店的发布审核。
系统默认不提供加载启动屏幕。
Unreal Engine 编辑器提供了一种设置自动加载启动屏幕的机制。
注意:当您在 Unreal Engine 编辑器内部预览应用时,先前在编辑器中创建的自动加载启动屏幕不会显示。由于 Unreal Engine 会在您启用应用时自动加载初始图层,所以启动屏幕不会显示。
选择 Edit(编辑)> Project Settings(项目设置)。向下滚动至 Plugins(插件),然后选择 Meta XR。“引擎启动屏幕”部分会显示:
Auto Enabled(自动启用)复选框,可启用或禁用启动屏幕的自动加载功能。自动加载功能启用后,启动屏幕会在用户每次进行关卡过渡时自动加载。自动加载功能禁用后,启动屏幕不会再自动加载。
您可以通过从头戴式显示器加载屏幕函数中调用 Add Loading Screen Splash(添加加载屏幕启动屏幕)来添加多个启动屏幕。一旦启用了启动屏幕的自动加载功能,所有您添加过的启动屏幕都将在用户每次进行关卡过渡时自动显示。因此,您可以将这些单独的启动屏幕视作构成实际展示给用户的整体启动屏幕的各个组成部分。
如需了解更多信息,请参阅
启动屏幕 Blueprint。当您勾选 Auto Enabled(自动启用)复选框时,它会启用或禁用您之前添加的所有启动屏幕的自动加载功能。
点击“+”在 Splash Descs(启动说明)下添加元素:
展开新的 Splash Descs(启动说明):
选择 Texture Path(纹理路径),在本例中为存在本地硬盘中的定制图片:
请填写所需的变换值(以米为单位),以调整启动屏幕四边形中心的位置。以下为默认值:
- 变换位置:x=4.0, y=0, z=0(向前 4 米,无水平或垂直偏移)
- 旋转:0, 0, 0(无旋转)
请填写要容纳启动屏幕所需的四边形尺寸值。以下为默认值:
如果您想让启动屏幕产生旋转效果,请输入 delta 旋转增量值,系统会为每个渲染帧添加这些值(如将旋转速度设置为完整 VSync 速率的一半):
如果您想将纹理放置在启动屏幕左上角的偏移位置,请输入以米为单位的偏移值:
如果您想要调整纹理的缩放,请输入相对于实际尺寸的浮点数倍数作为缩放值:
指定启动图层是否使用 Alpha 通道。默认情况下,图层会使用 Alpha 通道:
如要显示启动屏幕,请使用 Unreal Engine 头戴式显示器加载屏幕函数中的
Add Loading Screen Splash(添加加载屏幕启动屏幕)和
Show Loading Screen(显示加载屏幕)。有关启动屏幕的 Blueprint 参考资料,请参阅
启动屏幕 Blueprint。以下示例展示了此过程的工作原理。
注意:旧版的 OculusXR 专用函数 Add Loading Splash Screen 和 Clear Loading Splash Screens 已停用。在 OpenXR 后端(推荐的 XrApi)上,调用这些已停用的函数不会产生任何效果。请改用头戴式显示器加载屏幕函数中的 Add Loading Screen Splash 和 Clear Loading Screen Splashes。
在下方示例中,系统将持续展示启动屏幕 3 秒,随后将其隐藏。假设关卡已加载,它会在系统隐藏启动屏幕时立即显示:
上方示例中使用了 Add Loading Screen Splash 函数。该函数可提供控制启动屏幕位置、缩放和旋转的相关功能。
系统使用 Unreal Engine 标准的 HideLoadingScreen Blueprint 函数来隐藏启动屏幕。现在将其与 Meta 专用的 Clear Loading Splash Screens(已停用)函数进行比较:
Clear Loading Splash Screens 函数(已停用)不会隐藏启动屏幕。Add Loading Splash Screen(已停用)和 Clear Loading Splash Screens(已停用)函数分别用于向内存中添加启动屏幕和将启动屏幕从内存中移除。不过,从内存中清除启动屏幕的操作并不会中断当前正在显示的启动屏幕副本画面。
然而,如果在调用 Clear Loading Splash Screens(清除加载启动屏幕)函数后尝试显示启动屏幕,则会出现屏幕全黑的情况。发生此问题的原因是内存中没有任何可显示的启动屏幕:
Add Loading Screen Splash(添加加载屏幕启动屏幕)函数支持同时启用多个启动屏幕效果,可配置不同的位置、缩放、旋转属性,以及多个启动屏幕纹理。如要实现此效果,请取消勾选 Add Loading Screen Splash(添加加载屏幕启动屏幕)函数中的 Clear Before Add(添加前清除),随后可按需连续多次调用该函数 [待办:验证 Add Loading Screen Splash(添加加载屏幕启动屏幕)中的 Clear Before Add(添加前清除)参数]。之后,您在调用 Unreal Engine 标准的 ShowLoadingScreen 函数时,系统就会显示您加载的所有启动屏幕: