UE5.2 LyraDemo源码阅读笔记(一)

Lyra游戏初始化设置

来到编辑/项目设置/项目/地图和模式

GameMode:默认模式>默认游戏模式>选中B_LyraGameMode。
启动关卡:默认地图>编辑器开始地图。

GameFeature:
启动插件:编辑/插件,在插件列表中选中GameFeature和Modular Gameplay。
UE5.2 LyraDemo源码阅读笔记(一)_第1张图片

创建GameFeature:编辑>插件>+添加>游戏功能(GameFeature,适用C++)
保存路径不能更改:真要改同时要去AssetManager更改对于的路径。
UE5.2 LyraDemo源码阅读笔记(一)_第2张图片

GameFeature入口:
默认下GameFeature插件会加载所有的自定义GameFeature功能,可以自定义动态修改,按需加载(有的GameFeature只用于开发测试用,正式包不用加载)。
GameFeature自定义启动入口:
项目设置>游戏>GameFeature>默认类>GameFeatureProjectPolicyClass。
Lyra里添加了C++类LyraGameFeaturePolicy。
UE5.2 LyraDemo源码阅读笔记(一)_第3张图片

GameFeatureProjectPolicyClass的启动:
GameFeature插件里定义了C++类UGameFeaturesSubsystem,继承自EngineSubsystem所以是随着引擎启动的。启动时初始化void UGameFeaturesSubsystem::Initialize(FSubsystemCollectionBase& Collection)里会加载和初始化上一步定义的C++类LyraGameFeaturePolicy。从而加载自定义的GameFeature内容。
UE5.2 LyraDemo源码阅读笔记(一)_第4张图片
到这里,那么游戏启动时,会加载哪些数据资产呢,通过查看AssetManager里的设置,当游戏启动时(包括编辑器状态下)会加载所有基于C++类GameFeatureData创建的数据资产。
UE5.2 LyraDemo源码阅读笔记(一)_第5张图片
通过断点看到,启动编辑器时,加载了这几个GameFeatureData数据:
1、ShooterCore
2、ShooterMaps
3、TopDownArena
UE5.2 LyraDemo源码阅读笔记(一)_第6张图片
在这里插入图片描述
在这里插入图片描述
以上是加载GameFeature插件数据,在打开编辑器时会执行,也可手动去GameFeatureData的资产修改状态。

GameMode设置

C++类ALyraGameMode:
ALyraGameMode::InitGame(const FString& MapName, const FString& Options, FString& ErrorMessage),游戏启动方法。
编辑器设置游戏启动GameMode类:
UE5.2 LyraDemo源码阅读笔记(一)_第7张图片
执行InitGame后获取默认的LyraExperienceDefinition数据资产ID,写死的是B_LyraDefaultExperience。
UE5.2 LyraDemo源码阅读笔记(一)_第8张图片
接着设置资产的类:
UE5.2 LyraDemo源码阅读笔记(一)_第9张图片
返回默认的控制对象,数据资产SimplePawnData里的PawnClass蓝图对象,B_SimpleHeroPawn:
UE5.2 LyraDemo源码阅读笔记(一)_第10张图片
调用RestartPlayer()生成游戏场景对象:
UE5.2 LyraDemo源码阅读笔记(一)_第11张图片
就能在地图上得到:
UE5.2 LyraDemo源码阅读笔记(一)_第12张图片
接下来看游戏关卡下节点蓝图类B_ExperienceList3D:
这个蓝图功能:
1、加载所有LyraUserFacingExperienceDefinition主资产,共七个,也就是场景上显示的7个玩法体验入口的基础数据。
UE5.2 LyraDemo源码阅读笔记(一)_第13张图片
然后通过遍历这7个数据节点创建对应的场景显示对象:
通过Actor B Teleport to User Facing Experience蓝图节点创建蓝图类场景对象B_TeleportToUserFacingExperience,并把数据资产节点LyraUserFacingExperienceDefinition赋值给B_TeleportToUserFacingExperience的UserFacingExperienceToLoad字段。
UE5.2 LyraDemo源码阅读笔记(一)_第14张图片
之后,关卡上即可显示7个玩法入口。
打开B_TeleportToUserFacingExperience蓝图
当发生重叠事件,也就是关卡上的圆柱角色对象接触到玩法入口时,触发
UE5.2 LyraDemo源码阅读笔记(一)_第15张图片至此,创建了关卡中的体验玩家Actor和7个体验玩法入口。

你可能感兴趣的:(ue5,笔记)