在虚幻中自带有子系统,可能实现自动实例化。
但是子系统只能在C++中继承实现,本插件的目的则是可以直接在蓝图中创建并使用子系统。
官方子系统说明参考:
https://docs.unrealengine.com/5.1/zh-CN/programming-subsystems-in-unreal-engine/
插件操作说明:
右键直接创建相应蓝图。
使用时 直接 Get蓝图名称_C 节点,即可获取相应实例对象。
如蓝图名字为 BP_DTGameInstanceSubsystem
获取方式为以下:
建议在窗口实例蓝图以后,重启一下编辑器,不然可能会出现多个重复的 Get 选项。
在可以使用以后,需要在设置里面添加启用,这样打包以后才可以运行。
所有创建的蓝图子系统都必须添加到里面激活。
详细说明:
对应关系
DT Subsystem | 虚幻引擎 | |
游戏实例 | DT Game Instance Subsystem | UGameInstanceSubsystem |
本地玩家 | DT Local Player Subsystem | ULocalPlayerSubsystem |
关卡世界 | DT World Subsystem | UWorldSubsystem |
创建好蓝图以后,插件会自动生成一些回调节点,有助于逻辑处理,以下为节点说明:
共有节点说明:
On Initialize:系统初始化的时候回调。
On Deinitialize:系统释放的时候回调。
On Tick:系统启动后,每帧回调。需要将属性 Can Ever Tick 开启。默认为开启状态。
World Subsystem 独有节点说明:
On Post Initialize:所有 WorldSubsystems 都被初始化后调用
On World Begin Play:在游戏模式转换到正确状态之前世界准备好开始游戏时调用,并在所有参与者上调用 BeginPlay
On World Components Updated:在世界组件(例如线批处理器和所有级别组件)更新后调用
On Update Streaming State:更新子系统所需的流级别(由世界的 UpdateStreamingState 函数调用)
插件下载: