
在虚幻UE5引擎中有一项新功能,称为Game Features(游戏功能)和Modular Gameplay(模块化游戏) 创建独立的功能,而且使用这些插件创建功能有很多好处,包括保持项目代码库的清洁和可读性,以及避免无关功能之间的意外交互和依赖,这在开发功能集的实时产品时尤为重要。
总而言之,能够轻松添加或删除完全独立于项目且没有依赖性的任何功能。
激活插件
首先,需要前往虚幻引擎激活插件。


请启用Game Features和Modular Gameplay俩者。
当重新启动UE引擎时,将会收到如下错误消息:

资产管理器设置不包含类型为GameFeatureData的资产的条目,而这是游戏功能插件正常运行所必需的内容。 是否将条目添加到PrimaryAssetTypesToScan?
意思是你是否将条目添加到PrimaryAssetTypesToScan?只需点击这个超链接,那么在下次启动时将不会出现这些错误提示。
创建功能插件
要使用游戏功能,需要创建自己的插件,如果你不写C++代码,也没关系。
从菜单中打开插件页面,在左上角选择添加新插件,此时会打开一个窗口,然后选择游戏功能(仅内容) ,输入插件名称、作者、描述、作者URL等,最后点击创建插件。(红色框框内的截图是弹窗之后的哦)

现在就已经创建可游戏功能插件,创建后,插件文件夹中会自动创建一个数据资产,因此可以作为插件使用。

为功能创建组件
下面在自制的Game Features插件中正常创建一个BP组件,在这里,创建了一个名为BPC_Test的Actor组件,内容很简单,即所有者actor在5秒后炸开。

现在游戏功能有了一个组件。

使其可用于项目
现在让这个组件对项目准备的参与者可用,将这个组件添加到经常使用的ThirdPersonCharacter的BP上。

从子系统Game Framework Component Manager调用节点Add Receiver from BeginPlay。
如图中所见,实际上没有添加任何组件,也没有创建任何依赖项,这意味着ThirdPersonCharacter的BP没有任何额外的依赖关系,现在BP端已经完成好了,因此可以使用。
配置数据资产
最后打开创建插件时添加的数据资产,要在这里添加一个叫做动作的东西。

这里面有几个预设可用于操作。
其中,Add Components添加后,再添加一个Component List,选择Actor Class和Component Class,现在可以向Actor添加组件。
这里还可以通过C++写代码来添加完全独特的动作,所以可以添加任何东西,而不仅仅是组件,UE5的古谷项目也提供了具体的示例。
在数据资产的顶部,有一个initial state和current state,显示了插件的状态:

- 已安装 → 仅安装插件
- 已注册 → 插件已注册并显示在内容浏览器中
- 已加载 → 状态实际加载到内存中
- 激活 → 说明该函数实际上可以被节点等调用
其中,Game Features内容实际上只能在启用状态下使用,请注意,其他3个是可见的,但不能使用。
操作检查
使用虚幻UE5引擎的新特性Game Features,在Grayman(ThirdPersonCharacter)中不添加任何东西,添加一个在外部炸开的Actor组件,只需按一下按钮即可打开和关闭它。
没有直接给ThirdPersonCharacter添加任何组件,但是可以看到调用了炸开过程。此外,如果将当前状态切换为已安装,还可以看到不再调用此炸开处理本身,它工作正常。
这样虽然项目方没有参考Game Features这边的任何信息,但是外部可以增加新的功能,打开和关闭功能也很容易。
总的来说这是一个非常强大的功能,如果用得好,可以在没有任何依赖的情况下一个接一个地添加新功能,当然官方也为大家准备了文档,大家可以从这里参阅。
…
以上是3D天堂关于使用UE5的游戏功能制作无依赖项组件的全部内容,如果你有任何反馈,请随时在本页面下方留言。