Unity xNode节点插件入门使用介绍1

入门使用主要知道的4个类

  • NodeGraph
  • Node
  • NodeEditorWindow
  • NodePort

NodeGraph 整张节点图表

NodeGraph他继承的是ScriptableObject类用于储存整个图表的数据
主要函数就是

  • AddNode 增加新的Node节点

  • CopyNode 复制节点这个在图表里面的复制粘贴就是调用这个创建的

  • RemoveNode 删除新的Node节点

  • Clear 清除所有的节点Node

  • 使用

[Serializable, CreateAssetMenu(fileName = "KG", menuName = "xNode New/KG Graph")]
public class ItemGraph : NodeGraph {

    public override Node AddNode(Type type)
    {
      

        return base.AddNode(type);
      
    }
}
  • image.png
  • image.png
  • image.png

Node 节点数据

  • 节点的数据类主要储存自定义的数据节点和管理自身NodePort连接点 ==(就是连线端口)==
  • 需要进行连线的得打上标签[Input] [Output] 打上之后就会在Node节点出现端口
    • image.png
    • image.png
    • Input 是输入 打上这个连线方式只能是由 output标签的端口连接,同理 output是输出 打上了只能连接Input,都是不能连同类型的当然你自己改了源码除外 d(´ω`*)

    • 然后就能愉快的连线了,连线的数据储存在NodePort类里面Node持有N个NodePort数据

    • 主要函数

      • 获取值GetValue(NodePort) 这个就是获取某个端口值得回调函数 默认是空的你可以自己覆写 达到Input获取了output输出的数据

      • 这里我简单写了个例子当然要判断NodePort端口进行获取返回值类型的,下图这里没写

        • image.png
      • 添加Input端口 AddDynamicInput和断连RemoveDynamicInput 一般给你代码动态创建端口

      • 有个属性就是Ports 他持有了自身所有的端口数据需要遍历可以遍历这个

      • Init() 生成Node的回调函数 不过优先级不是很高 只是这个节点出来的下一帧才触发 不是当前帧 做初始化的童鞋自己注意,如果要当前帧貌似源码那里得自己加

      • UpdatePorts 更新端口数据和显示的

      • GetPort(端口名字)获取指定某个端口

- NodeEditorWindow 节点窗口

- 这里稍微简单讲一下 下篇深入点
  • NodeEditorWindow主要就是负责绘制整个窗口包括节点绘制都是在这里完成的
  • 最常用的一个属性就是==NodeEditorWindow.current== 他就是获取当前的窗口,从而可以获取到所有的节点 这个静态属性
  • 获取所有的绘制节点 NodeEditorWindow.graph 拿到就可以遍历这个图表所有数据了
  • 还有一个就是打开了 NodeEditorWindow.Open(NodeGraph类)
    image.png

    image.png

    image.png

NodePort 两边的连接点

  • 就是节点上的端口
    image.png
  • 他们分为标签[Input] [Output] 之前说过了可以翻一下

  • 有几个常用的函数

    • GetInputValues() 获取连接该端口的所有数据
    • Connect(NodePort port) 端口连线
    • GetConnections()获取该端口所有的连接端口

你可能感兴趣的:(Unity xNode节点插件入门使用介绍1)