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

Posted 凉_开果

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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);
      
    }
}

Node 节点数据

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

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

    • 主要函数

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

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

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

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

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

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

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

- NodeEditorWindow 节点窗口

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

NodePort 两边的连接点

  • 就是节点上的端口

  • 他们分为标签[Input] [Output] 之前说过了可以翻一下

  • 有几个常用的函数

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

以上是关于Unity xNode节点插件入门使用介绍1的主要内容,如果未能解决你的问题,请参考以下文章

Unity图形节点插件xNode简单使用说明

Unity的GraphView

Unity 相关 插件 记录 介绍

Unity3D新手教学,让你十二小时,从入门到掌握!(三 ) [转]

Unity3d游戏开发UGUI插件入门之游戏菜单

[Unity插件]Lua行为树:条件节点和行为节点