CommandGraph:基于节点的事件脚本
CommandGraph 是 MCE 的可视化脚本系统,用于创建 NPC 行为、过场动画、任务和交互事件。它提供基于节点的编辑器,你可以连接命令来定义事件序列——无需编写 C# 代码。
这是所有版本(包括无法访问源代码的 DLL 版本)的游戏设计师使用 MCE 时的主要工具。
什么是 CommandGraph?
CommandGraph 是附加到 Actor(世界中任何可交互实体)的节点图。当玩家触发 Actor(通过交互、踩上去或进入其区域),图表按顺序执行其节点。
可以将其理解为可视化脚本,每个节点是一个游戏动作:
[Start] → [Show Dialog] → [Branch: Has Badge?]
├─ Yes → [Give Item] → [End]
└─ No → [Show Dialog: "Come back later"] → [End]
创建你的第一个事件
步骤 1:创建 Actor
- 在场景中,在你希望放置 NPC 的位置创建一个空 GameObject。
- 添加
Actor组件(或其变体之一:SimpleActor、TriggerActor)。 - 添加
SpriteRenderer作为 NPC 的视觉表现。 - Actor 将自动注册到
GridController。
步骤 2:打开 CommandGraph 编辑器
- 选择你的 Actor GameObject。
- 在 Inspector 中,找到 CommandGraph 部分。
- 点击 Edit Graph 打开节点编辑器窗口。
步骤 3:添加节点
- 在图编辑器中右键打开添加节点菜单。
- 节点按 类别组织(见下文)。
- 选择节点类型将其添加到图中。
- 通过从一个节点的输出端口拖到另一个节点的输入端口来连接节点。
步骤 4:配置节点
点击节点在 Inspector 面板中查看其属性:
- 对话节点:输入要显示的文字、说话者名称和头像。
- 分支节点:选择要检查的游戏变量和比较方式。
- 道具节点:选择要给予/获取的道具及数量。
- 传送节点:设置目标场景和位置。
Actor 类型
MCE 提供多种 Actor 变体:
| Actor 类型 | 触发方式 | 使用场景 |
|---|---|---|
Actor | 玩家交互(面对时按互动按钮) | NPC、路标、物体 |
SimpleActor | 玩家交互,简化设置 | 基础 NPC |
TriggerActor | 玩家踩上或进入区域 | 自动触发、隐藏事件 |
GridSubscribingActor | 响应网格事件 | 压力板、近距离触发 |
PushableActor | 玩家走向它时推动 | 巨石、谜题方块 |
ActorItem | 玩家交互,给予道具后消失 | 地面上的道具拾取 |