BluePrint系统概述
- 蓝图可视化脚本 是一类完整的游戏性脚本系统,
- 使用基于节点的界面在虚幻编辑器中创建游戏性元素。
- 用于引擎中的对象驱动(OO)类或对象。
蓝图和C++互通
- 蓝图资源 == .h/.cpp
- UBlueprintGeneratedClass == UClass
- ParentClass == : ParentClass
- 变量 == UProperty()
- 图表/事件 == UFunction()
- 类默认项 == 本地构造函数
- 组件列表 == 本地构造函数
蓝图的期望
- 期望的是:gameplay程序员构建基础类,基础类则公开一套有用的函数和属性;
- 这些基础类形成的蓝图可使用这些函数和属性并进行延展。
蓝图类 Blueprint Class
- Blueprint Class 缩写BP;
- 基于现有游戏性类添加功能的资源
- 实际上,蓝图定义了一种新的Actor,
- 这些Actor可以作为实例放置到地图中, 和其他Actor一样。
纯数据蓝图 Data-Only Blueprint
- Data-Only Blueprint(仅包含数据的蓝图)
- 指仅包含代码(以节点图表的形式)、变量及从其父类继承的组件的类蓝图
- 使用它们来调整属性或者设置不同值的项目。
关卡蓝图 Level Blueprint
- Level Blueprint 用作关卡范围的全局事件图。
- 每个关卡都创建了自己的关卡蓝图
- 关卡蓝图还提供了关卡流送和Sequencer的控制机制,以及将事件绑定到关卡内的Actor机制。
蓝图接口 Blueprint Interface
- 是一个或多个函数的集合 - 只有名称,没有实体
- 类似于一般编程中的接口概念
- 禁止: 添加新变量,编辑图表,添加组件
蓝图宏库 Blueprint Macro Library
- 容器,它包含一组 宏或图表,这些图表可以作为节点放置在其他蓝图中。
- 可以存储常用的节点序列, 包括执行和数据传输所需的输入和输出。
蓝图工具 Blutility
- 用于执行编辑器行为或延展编辑器功能的纯编辑器蓝图。
- 可将不带参数的事件作为 UI 按键公开, 并能执行对 蓝图 公开的任意函数,对视口中当前选定的 Actor 集产生作用。
蓝图主要块面
- 组件窗口: 允许将Components组件添加到蓝图并访问
- 构造脚本: Construction Script在组件列表之后运行。它包含的节点图表允许蓝图实例执行初始化操作。
- 事件图表: EventGraph 使用事件和函数调用来执行响应(一个或多个蓝图事件)
- 函数: (Functions) 是特定 的节点图表,它们可以从蓝图中的另一个图表调用。
- 变量: Variables是保存值或引用(世界场景中的对象或Actor的属性)
变量
- 包括布尔型、整数型和浮点型等数据类型
- 可保存对象、Actor和类等内容的引用类型。
引脚连接基础和技巧
- 类型可转换(int, fstring)
- 把变量拖到执行节点上, 修改变量
- 把变量拖到引脚上,填充参数
- 添加retoute引脚,双击线路,增加可移动的点