通用节点编辑器04-创建具体业务
创建新的业务节点图
新增业务时,优先使用脚手架面板:
1 | Tools/Node Graph/Create Graph Scripts |
该面板可以生成 Graph Asset、Controller、Window,以及可选的 Node、NodeView、RuntimeNode 和 Debugger。

生成后的职责
| 类型 | 作用 |
|---|---|
{Business}GraphAsset |
业务图资产类型 |
{Business}GraphController |
导出路径、节点创建与编辑器策略 |
{Business}GraphWindow |
业务图编辑窗口与工具栏 |
{Business}NodeData |
节点业务数据 |
{Business}Node |
编辑器节点和端口定义 |
{Business}NodeView |
节点内容区 UI |
{Business}RuntimeNode |
运行时进入、更新、退出行为 |
新业务的最小实现
- 创建业务 Graph Asset。
- 创建 Controller,并设置 Runtime 导出目录。
- 创建带
NodeGraphWindow特性的业务 Window。 - 创建 NodeData、编辑器 Node 和 NodeView。
- 创建带
NodeRuntime特性的 RuntimeNode。 - 在业务启动入口加载导出的运行时图并调用
Start()。
业务节点数据
节点数据应只保存可序列化的业务配置,不保存场景对象、运行时状态或 UI 引用。
1 | [] |
业务端口与出口
编辑器 Node 负责声明端口,并使用稳定的 portKey 作为 Runtime 跳转出口。RuntimeNode 使用相同 key 调用:
1 | runner.MoveNext("next"); |
建议将业务出口 key 集中定义为常量,避免散落的字符串拼写错误。
导出与加载
编辑器图资产位于:
1 | Assets/NodeGraphView/Editor Default Resources/GraphData/{GraphName}.asset |
业务 Controller 决定 Runtime 导出位置。Task 示例导出到:
1 | Assets/Resources/TaskGraphs/{GraphName}.bytes |
Runtime 使用 Resources 路径加载时不带扩展名:
1 | GraphRuntimeManager.Instance.LoadFromResources( |
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来源 穿越时空的思念!
