【UE4(虚幻)】学习笔记(六)----蓝图接口、事件分发器、子弹击打不同物体会有不同效果的实现思路、 数据表的使用与背包框架的搭设

这段时间最大的收获是通过各方渠道获取大佬们建立的模板进行学习分析进一步学习了解UE4中各个模块或资产的的功能与应用,同时可以进一步提高了分析别人蓝图思路的能力
本次笔记内容:
1.蓝图接口,事件分发器
2.蓝图函数库,蓝图宏库
3.子弹击打不同物体会有不同效果的实现思路--------标签与物理材质的优缺点
4.数据表的使用与不同背包的框架搭设
一、蓝图接口、事件分发器
蓝图接口官方文档解释:

蓝图接口(Blueprint Interface) 是一个或多个函数的集合 - 只有名称,没有实施 可以添加到其他蓝图中。任何添加了该接口的蓝图都保证拥有这些函数。接口的函数 可以在添加它的每个蓝图中提供功能。在本质上,这类似于一般编程中的接口概念, 它允许多个不同类型的对象通过一个公共接口 共享和被访问。简单地说,蓝图接口允许不同的蓝图相互共享和发送数据。

1.蓝图接口只能单项接收信息的传递。
2.蓝图接口可以被多个类拥有,一个蓝图接口可以建立多个函数,不同蓝图可以拥有同一个蓝图接口。
3.当调用一个蓝图接口中的一个函数的时候,不同蓝图在接受后可以进行功能不一定相同。
4.一个actor可以添加多个蓝图接口。

事件分发器官方文档解释:

通过将一个或多个事件绑定到 事件分发器(Event Dispatcher),您可以在调用事件分发器时触发所有这些事件。这些事件可以绑定到蓝图类中,但事件分发器也允许在关卡蓝图中触发事件。

1、事件分发器只能单向接收信息的传递。
2、事件分发器可以在不同类中调用,一个事件分发器只能绑定一个事件。
3、不同类中事件分发器所进行绑定的函数的功能不一定相同。
4、一个蓝图可以添加多个事件分发器。
5、蓝图接口是一对多,事件分发器也是一对多。
事件分发器和蓝图接口不同点:
1、蓝图接口只能添加到actor中,事件分发器可以添加到游戏框架,UMG等中。
2、一个actor蓝图接口一旦添加后就无法在运行中去除,事件分发器可以在运行中途解除绑定。
二、蓝图函数库,蓝图宏库
蓝图函数库官方文档解释:

蓝图函数库是一个静态函数的合集,提供不与特定游戏性对象绑定的效用功能。这些库可群组化为逻辑函数集(如 AI 蓝图库),或包含提供多种不同功能区域(如系统蓝图库)访问的函数。

蓝图宏库官方文档解释:

蓝图宏库(Blueprint Macro Library) 是一个容器,它包含一组 宏 或自包含的图表,这些图表可以 作为节点放置在其他蓝图中。它们可以节省时间,因为它们可以存储常用的节点序列, 包括执行和数据传输所需的输入和输出。

宏在引用它们的所有图表之间共享,但是它们会自动扩展到图表中, 就像它们在编译期间是一个折叠节点那样。这意味着蓝图宏库不需要编译。但是, 对宏的更改仅反映在重新编译包含这些图表的蓝图时 引用该宏的图表中。

蓝图函数库和蓝图宏库里面的函数与宏是整个工程任何蓝图都能直接拿来用,一般一个工程建立一个蓝图函数库和一个蓝图宏库。
三、子弹击打不同物体会有不同效果的实现思路--------标签与物理材质的优缺点
1、根据标签不同进行划分
步骤一、给指定物体添加标签

选择物体右侧搜索tag在actor下面添加标签
步骤二、根据传入物体的标签的不同进行输出不同的弹孔、击击中特效、击中声音
【UE4(虚幻)】学习笔记(六)----蓝图接口、事件分发器、子弹击打不同物体会有不同效果的实现思路、 数据表的使用与背包框架的搭设_第1张图片
2、根据物理材质不同进行划分
步骤一、在项目设置里面搜索physical surface并添加物理材质类型
【UE4(虚幻)】学习笔记(六)----蓝图接口、事件分发器、子弹击打不同物体会有不同效果的实现思路、 数据表的使用与背包框架的搭设_第2张图片
步骤二、新建一个物理材质
【UE4(虚幻)】学习笔记(六)----蓝图接口、事件分发器、子弹击打不同物体会有不同效果的实现思路、 数据表的使用与背包框架的搭设_第3张图片
步骤三、打开新建的物理材质选择新建物理材质的类型
【UE4(虚幻)】学习笔记(六)----蓝图接口、事件分发器、子弹击打不同物体会有不同效果的实现思路、 数据表的使用与背包框架的搭设_第4张图片
步骤四、给人物和actor上物理材质
在人物物理资产中选择单个或多个聚合骨骼后在右侧详情中的物理材质重载中添加建立的物理资产

选中物体在右侧细节面板中物理材质重载添加物理材质
【UE4(虚幻)】学习笔记(六)----蓝图接口、事件分发器、子弹击打不同物体会有不同效果的实现思路、 数据表的使用与背包框架的搭设_第5张图片
步骤五、根据物体actor不同物理材质输出不同的弹孔、击击中特效、击中声音
【UE4(虚幻)】学习笔记(六)----蓝图接口、事件分发器、子弹击打不同物体会有不同效果的实现思路、 数据表的使用与背包框架的搭设_第6张图片
这两种方法相比之下第二种方便于管理和添加,第一种方式一般作用于整体第二种方式可作用于人物局部。
四、数据表的使用与不同背包的框架搭设
数据表格官方文档解释:

顾名思义,数据表就是以有意义且有用的方式将各种相关的数据归类的表格, 其中,数据字段可以是任何有效的 UObject 属性,包括资产引用。在设计师将 CSV 文件导入数据表前,程序员必须创建行容器以指示引擎如何解释数据。 这些数据表包含了列名,这些列名和基于代码的UStruct结构以及它的(子)变量一一对应, 这个UStruct的结构必须继承自FTableRowBase才可以被导入器辨识。

数据表格包含表头和列头:
表头为建立数据表格时所选择的结构体
列头为使用数据表格时每行的索引。
框架一:安宁Ken生存教程里面的背包系统
安宁Ken背包教程没有涉及数据表格的使用更而是使用不同的类来储存不同的物品信息:总体分为父类ItemBase 子类:Food、Medicine、RawMaterial、Weapon然后子类下面在创建不同类型的物品。
优点:
1、物品信息更加细致对于不同物品不同信息的储存更加方便。
2、因为有着不同类的划分使得不同物品的所属更加明确。
缺点:
因为没有使用数据表格导致后期物品的添加耗时耗力,而且该背包系统对于物品的管理过于繁杂(尽管安宁Ken的蓝图复用性高)
总结:安宁Ken教程里面的背包系统适用于小体量的工程,安宁Ken的教程最大的优点是便于新手接触背包的构建思路和学习UE4中的各个模块。
框架二:FPS模板Ultimate Shooter Kit 425里面的背包系统
Ultimate Shooter Kit 425中的背包系统使用了数据表格储存物品的各项信息
优点:
1、由于数据表格可以导入Excel 文档使得在游戏开发中便于程序和策划之间的沟通。
2、数据表格可以批量的对物品信息进行操作,可以大大加快项目开发进度。
3、数据表格所建立的背包可以修改时方便快捷。
缺点:
1、因为所有物品处于同一表格中无法清晰的分辨各个物品的上下联系(除非建立多个数据表格)
2、由于所有物品拥有同一个表头导致不同物品特有属性不能很好的进行储存。
总结:相比之下使用数据表格建立背包系统优点明显,但由于一般使用数据表格建立的背包系统都是配套其他的系统一块使用导致建立和学习起来难度较大。

你可能感兴趣的:(UE4/虚幻4,游戏开发)