一.Lyra介绍
Unreal Engine 5 官方示例项目 Lyra Game 是一个面向多人射击游戏的模块化、数据驱动的模板项目,其设计体现了 UE5 的新特性与最佳实践。学习Lyra是入门UE的一种高效方式。官方文档
二.初始场景启动流程
在初始场景中放置了一个B_ExperienceList3D蓝图,在蓝图内编辑了初始场景的启动流程如下:
- 脚本启动时首先调用AssetManager的GetPrimaryAssetIdList函数扫描了指定类型的主资源ID,在此处指定类型为ULyraUserFacingExperienceDefinition是Lyra中自定义的资源类型,继承自UPrimaryDataAsset。在当前项目中的配置如下:
此处扫描时会同时扫描已启用插件中的同类型资源(UE中 的 Asset Registry 系统会自动扫描项目中所有已加载的插件(Plugins)的 Content 目录,无论是否在项目设置中显式配置路径。只要插件被正确加载,其内容路径会默认被注册到资产系统中)。关于UE中的资产请参考:资产管理
- 异步加载扫描出的主资源列表,并将加载结果存入数组中
- 加载完成后遍历已加载资源,在循环体中判断是否显示在前端,是否是默认的,同时满足条件则将该资产插入到数组前端,否则判断是否要显示全部,满足条件则将该资产追加到数组中。
- 循环结束后,根据循环体中逻辑处理的结果,遍历在循环体中初始化的资产数组,并创建对应的Actor(B_TeleportToUserFacingExperience)该Actor也是一个蓝图脚本,其中封装了相应的游戏入口逻辑,以下是创建入口的蓝图逻辑
完成创建后就会在场景中显示对应的游戏入口如下: