入門使用主要知道的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()獲取該埠所有的連接埠
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/300553.html
標籤:其他
下一篇:201712-2 游戲




