自定义节点编辑器xNode——Graph和Node简介(一)

因为尝试过很多节点型编辑器,比如Behavior Designer、ASE,或者官方的Shader Graph,那么我就想能不能自己也做一个节点型编辑器,因为个人能力有限,所以我想找找有没有现有的节点编辑器框架可供学习,我上Github招了一下,发现其实有不少框架,而这其中xNode是最吸引我的,那么就来学习一下xNode来定制自己的节点编辑器吧

本文中的项目来源于 https://github.com/Siccity/xNode

1 创建界面和节点

在节点编辑器中最重要的就是界面(Graph)和节点(Node),那么首先来让我们看一下Graph

1.1 创建Graph

通过Assets——Create——NodeGraph C# Script我们就能快速创建Graph的代码,代码也十分简洁
这里要注意:

  1. 如果需要当前Graph中的数据可以被序列化,我们需要添加[System.Serializable]特性,也可以通过修改"xNode_NodeGraphTemplate.cs.txt"来统一修改
  2. 通过修改CreateAssetMenu特性中的参数可以改变创建Asset的窗口选项和名称
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using XNode;

[CreateAssetMenu]
//CreateAssetMenu(fileName = "String Graph", menuName = "xNode Examples/String Graph")
public class NewNodeGraph : NodeGraph {
    }

1.2 NodeGraph解析

接下来就对代码作简单的解析

///这是所有NodeGraph的基类
[Serializable]
public abstract class NodeGraph : ScriptableObject 
{
   
    ///目前Graph中所有的Node
    [SerializeField] public List<Node> nodes = new List<Node>();

    ///通过模板为当前Graph添加Node,本质上还是使用了下面的Type来添加
    public T AddNode<T>() where T 
  • 4
    点赞
  • 17
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值