0
点赞
收藏
分享

微信扫一扫

HTML5 <small> 标签\、HTML5 <style> 标签

JakietYu 2023-04-26 阅读 112
ue4

UE4仿真引擎学习

一、架构基础

1. GameInstance

UE提供的方案是一以贯之的,为我们提供了一个GameInstance类。为了受益于UObject的反射创建能力,直接继承于UObject,这样就可以依据一个Class直接动态创建出来具体的GameInstance子类。

 UGameInstance里的接口大概有4类:

1. 引擎的初始化加载,Init和ShutDown等(在引擎流程章节会详细叙述)

2. Player的创建,如CreateLocalPlayer,GetLocalPlayers之类的。

3. GameMode的重载修改,这是从4.14新增加进来改进,本来你只能为特定的某个Map配置好GameModeClass,但是现在GameInstance允许你重载它的PreloadContentForURL、CreateGameModeForURL和OverrideGameModeClass方法来hook改变这一流程。

4. OnlineSession的管理,这部分逻辑跟网络的机制有关(到时候再详细介绍),目前可以简单理解为有一个网络会话的管理辅助控制类。

而GameInstance是在GameEngine里创建的。

2. SaveGame

        得益于UObject的序列化机制,现在你只需要继承于USaveGame,并添加你想要的那些属性字段,然后这个结构就可以序列化保存下来的。

而UGameplayStatics作为暴露给蓝图的接口实现部分,其内部的实现是:

 

参考链接:《InsideUE4》GamePlay架构(九)GameInstance - 知乎 (zhihu.com)

举报

相关推荐

0 条评论