LoginSignup
26
30

More than 5 years have passed since last update.

Unityでノードベースなウィンドウを簡単に作る為の「Simple node editor」の紹介

Last updated at Posted at 2016-04-10

概要

Animator ControllerとかBehavior Designerのようにノードを作る為のFrameworkを探していたらSimpleNodeEditorを見つけたので紹介します。

Simple Node Editor

このFrameWorkには下記のようなノードエディタの為の基本的な機能が揃っています。
1. ノード作成
2. ノード同士の接続
3. ノードのSave,Load
4. ランタイム実行

また、FrameworkのNodeクラスをオーバーライドしてカスタマイズすれば、Behavior Designerのみたいな自前のAIノードエディタを作ることもできます。
Behaviour Designer

自分は実際にこのフレームワークを拡張して、自前でBehavior Designerのようなツールを比較的簡単に作成する事が出来ました。そのツールの紹介は次回に行うとして今回は、このフレームワークの使い方の紹介をします。

導入方法

githabのプロジェクト一式をクローンします。
https://github.com/Baste-RainGames/Node_Editor

適当なUnityプロジェクトを作成して、Assetsディレクトリ以下にクローンしたプロジェクトを突っ込み、Unityを立ち上げます。
「Window」の一覧に「Node Editor」が追加されているので、ここからNodeEditorWindowを開きます。
「Load Canvas」でCaluculation Canvas.assetをロードすると、下記のようなノードが表示されます。とりあえずここまで出来れば導入は完了です。

alt

プロジェクト構成の説明

重要なクラスを掻い摘んで説明します。

Editor/NodeEditorフォルダ

  • NodeEditorWindow.cs
    • TOPのクラスです。
  • Resources/
    • cashファイルを管理するフォルダです。

Node_Editor/Frameworkフォルダ

  • Node.cs
    • 各ノードが継承する規定クラスです。独自機能のノードクラスを作成したい場合はこのクラスを継承して作成します。
  • Node/
    • サンプルプロジェクトで使われている各個別のノードクラスが入っています。Node.csを継承して如何に独自ノードを作るのかの参考になります。

Node_Editor/Resources/Saves/フォルダ

  • ノードの保存ファイルが管理されています。保存ファイルはScriptableObjectとなります。

Node_Editor/フォルダ

  • RuntimeNodeEditor.cs
    • EditorWindowではなく、Gameビューにノードエディターを表示できます。GameObjectにアタッチして使用します。Game実行中のスクリプトとノードエディタとの連携をとりたい時に利用します。

使用時の注意点

このフレームワークはとてもよくできていますが、まだ開発途中段階のためか幾つかのバグがみられます。実際に、自分もフレームワークを使っていく中でバグ修正を行ってプルリクを出したものもありました。
ただ、こちらの問いかけに対する作者の人の反応も結構早いので、気になる点があればUnityのフォーラムや、github上のissuesに投稿するといいと思います。

Unityフォーラム
http://forum.unity3d.com/threads/simple-node-editor.189230/page-10

26
30
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
26
30