作者Git: https://github.com/MothCocoon/FlowGraph/wiki/FAQ
开始准备
在项目设置中,修改默认类
在世界场景设置中指定root flow
概念理解
- 图中的单个node是一个简单的 UObject,而不是蓝图中的函数。
- Flow 节点在设计上是异步/滞后的。活动节点通常会订阅委派,因此它们可以通过触发输出引脚对事件做出反应。
- 游戏机制的代码不会混合,系统 X 可以不知道系统 Y 的存在。
流程节点FN中,可选择 类默认值,设置输入输出引脚等;类设置 中,可修改蓝图显示名称,便于在FG中查看。 node可用蓝图或者C++创建。
Flow Node中的公开变量,可以在flow graph中编辑。
Node间通信,识别通信对象主要使用flow tag。该标签在flow、flow trigger上可设置。可以通过component的形式添加到actor上,也可以直接在场景中添加flow tigger box等。
新建flow tag在命名加上“.”来设置递进层级
Node内流程的结束要指定output pin,否则不会向后继续执行。
工作思路
推荐建立一张总图(flow assert),串联各子图,子图可以独立编辑
存在问题
Q:观察(监听类)节点如何用蓝图创建?
A:使用蓝图制作flow node,对于“等”的实现,本质还是通过事件分发器等通信实现的。将状态的改变绑定到FN对应的输出引脚上。目前个人理解是FN对于多状态、后续走的流程更直观。
Q:如何指定节点引用对象?
① 软引用、公开变量,直接指定;
② get目标actor的flow component,从中获取identity tag(目前来看这个方法很不优雅,得get all后再遍历、筛选,而后get flow组件才能拿到identity tag)