在虚幻中自带有子系统,可能实现自动实例化。
但是子系统只能在C++中继承实现,本插件的目的则是可以直接在蓝图中创建并使用子系统。
官方子系统说明参考:
虚幻引擎编程子系统 | 虚幻引擎5.1文档 (unrealengine.com)
https://docs.unrealengine.com/5.1/zh-CN/programming-subsystems-in-unreal-engine/
插件操作说明:
右键直接创建相应蓝图。
使用时 直接 Get蓝图名称_C 节点,即可获取相应实例对象。
如蓝图名字为 BP_DTGameInstanceSubsystem
获取方式为以下:
建议在窗口实例蓝图以后,重启一下编辑器,不然可能会出现多个重复的 Get 选项。
详细说明:
创建好蓝图以后,插件会自动生成一些回调节点,有助于逻辑处理,以下为节点说明:
共有节点说明:
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 函数调用)
在代码插件创建的Blueprint Subsystem - 虚幻引擎商城 (unrealengine.com)
https://www.unrealengine.com/marketplace/zh-CN/product/0dc13dcb93134822920eac517d6258ab