跳转到内容

逻辑图

逻辑图像虚幻引擎的蓝图一样,以节点和连线显示世界逻辑规则。它不是新的格式,而是以另一种形式查看与世界逻辑面板相同的数据。在任一边修改,都会立即反映到另一边。

一条规则从左到右排成一行。执行引脚按 事件 →(过滤)→ 条件 → 动作 的顺序相连。

内容位置
逻辑图工具 › 逻辑图(下方停靠区域的「逻辑图」选项卡。也可在「窗口」菜单中打开)
添加节点在图的空白处右键 · 工具栏「节点」

在图中创建「进入区域时播放声音」的规则。

  1. 在图的空白处右键。「添加节点」窗口打开。
  2. 在搜索框中输入 区域,选择「进入区域时」(事件)。会生成一条新规则。
  3. 在事件节点的「区域」字段中选择触发区域 Actor。
  4. 将事件节点右侧的白色执行引脚拖到空白处放开。
  5. 在打开的窗口中选择「声音」(动作)。它会连接到事件之后。
  6. 填写声音节点的「声音」字段。
  7. 确认工具栏右侧的检查摘要为「检查通过」。
节点标题颜色含义
事件红规则的触发器,是链条的起点。标题上有规则启用按钮。
过滤赭黄仅一次 · 每位玩家一次 · 冷却 · 权限。总是紧跟在事件之后。
条件绿为真时进入下一步。
动作蓝(按分类着色)规则执行的内容。
等待深蓝即动作 wait。秒数字段在节点内。
Actor 引用紫一个场景 Actor。连接到字段即可使用该 Actor。
未连接灰没有附属于任何规则的节点。不会被保存。

自 0.9.7 起:条件、动作节点的标题颜色按分类区分(区域 橙 · 流动 靛蓝 · 变量 · 函数 青绿 · 世界 偏绿 · 画面 蓝 · Actor 偏紫 · 碰撞 棕 · 方块 赭黄 · 战斗 偏红)。条件为混合了绿色的颜色。

有错误的节点显示红色边框,有注意事项的节点显示黄色边框。将鼠标悬停在标题上的标记上即可查看内容。

每条规则都由一个注释框(「规则框」)包围。框的标题显示规则名称和一行说明。拖动框会整体移动该规则。

引脚形状连接对象数量
执行引脚白色五边形箭头执行顺序(事件 → 条件 → 动作)一条输出线
函数引脚黄色菱形调用函数的动作 →「函数」事件一个引脚一条线
数据引脚紫色圆形Actor 引用 → Actor 字段一个可连接多个字段
信号引脚黄色菱形「发送信号」动作 →「收到信号时」事件所有接收规则(广播)

已连接的引脚为实心形状,未连接的引脚只有边框。函数线和信号线以虚线绘制。

  • 将执行引脚拖到另一个节点上,会将该节点从当前位置取出并插入到紧随其后的位置。其他规则的节点也可以移动过来。
  • 条件只能位于事件、过滤或其他条件之后,不能位于动作之后。
  • 事件节点前面不能连接任何节点。
  • 将执行引脚放在空白处时,「添加节点」窗口以「连接到此之后」方式打开,只显示条件和动作。
  • 拖动连线的输入端将其断开,该节点会从链条中移出,后面的节点接到前面的节点上。移出的节点变为「未连接」。

自 0.9.11 起:黄色函数引脚一个引脚对应一个函数。执行是串行的,而不是并行的。

动作引脚位置
调用函数 · 重复 · 每个玩家「函数」字段行上一个引脚
分支(如果)「若为真」·「若为假」字段行上各一个引脚
依次(序列)每个步骤一个引脚(1 · 2 · …)+「连接下一步」引脚
  • 将引脚拖到「函数」事件节点上,该函数名称会被填入字段。
  • 对已连接的引脚再次连接会替换原连接,不会增加连线。
  • 连接到「连接下一步」引脚会增加一个步骤。步骤按编号顺序执行。
  • 将引脚放在空白处,会新建一条「函数」规则(名称为 func_1、func_2 …)并连接。
  • 存在两条以上同名函数规则时会产生检查错误,因为一个引脚会分成两路。
  • 在一个调用字段中写入多个函数会产生检查错误。要依次调用多个函数,请使用「依次(序列)」。

函数及调用函数的动作详见变量 · 函数 · 数据类型。

  • 将「发送信号」动作的引脚拖到「收到信号时」事件上,两者的信号名称会变为相同。
  • 信号是广播,会发送到所有接收同名信号的规则。各接收规则用条件进行过滤。
  • 动作节点上会显示「接收规则 N」或「无接收规则」。
  • 将引脚放在空白处,会新建一条「收到信号时」规则并连接。
  • 将 Actor 引用节点的紫色引脚拖到节点的 Actor 字段上,该字段即设为该 Actor。
  • 如果是字段不接受的类型的 Actor,则不会连接,并提示原因。
  • 将字段的紫色引脚拖到空白处,会打开只含 Actor 引用的「添加节点」窗口。
  • 断开连线后该字段会被清空。

在空白处右键或点击「节点」按钮打开。搜索框可按名称、type、分组搜索。

分组选择后
事件 · …新建规则。
条件 · … / 动作 · …放置节点。如果是从执行引脚打开的窗口,则连接到其后;否则成为「未连接」节点。
规则 › 过滤 (仅一次·冷却·权限)显示所选规则的过滤节点。
Actor 引用将该 Actor 连接到所选节点中匹配的 Actor 字段。

仅能手动触发的触发器也可以在此窗口中选择。测试时使用运行中的「触发」。

对象DeleteCtrl+D
事件删除整条规则复制整条规则(名称 +「 副本」)
条件 · 动作仅移出该节点在其后创建副本
过滤将过滤恢复为默认值并隐藏—
Actor 引用清空使用该 Actor 的字段—
未连接的节点直接删除—

自 0.9.7 起:可用 Ctrl+C · Ctrl+V 复制、粘贴节点。选中事件时会复制整条规则。可以粘贴到所选节点之后、其他规则或其他世界中。

自 0.9.7 起:新增断点和执行显示。

  1. 选择动作节点(包括等待),按 F9。标题上会出现红点。
  2. 开始运行。
  3. 规则执行到该动作之前时,运行会暂停并弹出通知。
  4. 再次播放(Pause 或「已暂停」按钮)后,从该动作继续执行。
  • 不能在条件节点和事件节点上设置断点。
  • 运行中被执行的节点会以绿色边框短暂高亮。
  • 断点仅在编辑器中有效。服务器会忽略。

工具栏上的按钮和复选框。

项目默认值含义
「节点」—打开添加节点窗口(与右键相同)。
自动排列—清除已保存的节点位置,每条规则排成一行。
断点—开启或关闭所选动作节点的断点(F9)。
查看全部—缩放以显示所有节点。
查看所选规则—跳转到世界逻辑列表中所选的规则。
与列表同步开在列表中选择规则时图会跳转到该规则;在图中选择节点时列表也会选中该规则。
规则框开为每条规则显示注释框。
Actor 节点开为每个 Actor 字段显示 Actor 引用节点。
吸附到网格开将节点对齐到 16 单位的网格。
小地图开右下角的小地图。图区域较矮时隐藏。
缩放—显示当前缩放比例。范围为 25%~200%。

拖动节点后的位置会保存在规则数据中(_graph 字段,仅编辑器)。没有位置的节点会自动排布。

键动作
右键(空白处)添加节点窗口
Delete删除所选节点
Ctrl+D复制所选节点
Ctrl+C · Ctrl+V拷贝 · 粘贴
F9开启/关闭断点(焦点在图上时)
Ctrl+鼠标滚轮放大 · 缩小
鼠标滚轮平移图
Ctrl+Z撤销(所有图修改)
  • 「未连接」节点不会被保存,重新打开世界后会消失。请将其执行引脚接入规则链条。
  • 过滤为默认值时,过滤节点处于隐藏状态。可通过「添加节点」› 过滤使其显示。
  • 函数规则不使用过滤,请使用条件。
  • 节点内的字段与世界逻辑面板中的控件相同。不在字段下方显示检查信息,而是通过字段名称的颜色和节点边框提示问题。