- 高度自由定制
- 运行时定位节点
- 新建脚本继承
NodeBase即可(可直接使用 Project试图中鼠标右键点击->Create->Visual Node C# Script)
using VisualGraphRuntime;
using NodeGraphView;
//节点名字 排序(超过10中间会有横线) 图标名字(unity中内置图标名字))
[NodeName("node示例", 1, iconName = "d_ContentSizeFitter Icon")]
//输入输出端口类型 (输入输出端口数量)
[NodePortAggregate(NodePortAggregateAttribute.PortAggregate.Single, NodePortAggregateAttribute.PortAggregate.Single)]
public class NodeSample : NodeBase
{
public float waitDuration;
}其中图标名字均是unity内部icon可参考:jasursadikov/unity-editor-icons) (github.com)
- 新建一个NodeGrpah,进行节点编辑
- 根据节点内部逻辑,自行编辑代码
- 具体可查看Demo文件夹示例
可以对node自行绘制,有两种方式
- 使用IMGUI,和普通继承Editor重写相同,缺点是如果太多会导致界面卡顿(原因是需要太多draw)
- 使用UIElements,需要继承VisualGraphNodeView,使用UIElements的UI绘制,这个不会导致卡顿
具体代码可查看Demo文件夹NodeSampleEditor示例
基于上面这个repo进行了修改
使用的第三方插件:
dbrizov/NaughtyAttributes: Attribute Extensions for Unity (github.com)
提交1.0包


