はじめに
Blenderには、ジオメトリノード、シェーダーノード、コンポジットノードといった強力なノードベースの機能が備わっています。
これらは通常、GUIで直感的に作成し、.blendファイル内に保存します。そのため、ノードの共有は.blendファイルごと行うのが一般的です。
しかし、テキストベースでノードを扱いたい場合、例えばGitでバージョン管理をしたり、ドキュメントにコードとして埋め込んだりするには、少し工夫が必要でした。
この課題を解決してくれるのが、今回ご紹介する Node To Python アドオンです。
Node To Python とは?
Node To Pythonは、その名の通り、Blenderの各種ノードをPythonコードに変換してくれる便利なアドオンです。
変換されたPythonコードはテキストファイルなので、次のような場面で非常に役立ちます。
- Gitでのバージョン管理: 変更履歴を追いやすくなります。
- ドキュメントやブログ記事への埋め込み: 手順をコードで明確に示せます。
- 他のスクリプトやアドオンからの再利用: ノード設定をプログラムで呼び出せます。
関心を持った方は、以下の公式ページから入手できます。
👉 公式ダウンロードページ: Node To Python - Blender Extensions
インストール方法
Blender内で直接インストールできるため、手順はとても簡単です。
- メニューから [編集] > [プリファレンス] を開きます。
- 「エクステンションを入手」 (Get Extensions) タブを選択します。
- 検索バーに
node to pythonと入力します。 - 検索結果に表示された「Node To Python」のインストールボタンをクリックします。
インストールが完了すると、アドオンは自動的に有効化されます。
使い方
アドオンの操作は、各ノードエディタのサイドバー(ショートカットキー: N)から行います。
サイドバーに新しく追加された 「Node To Python」 タブを開いてください。
ジオメトリノード
- 「Geometry Nodes to Python」 セクションにある「ジオメトリーノード」ボタンをクリックします。
- ファイル内に存在するジオメトリノードの一覧が表示されます。
- 変換したいノードを選択すると、対応するPythonコードが自動的にクリップボードへコピーされます。
シェーダーノード
- 「Material to Python」 セクションにある「マテリアル」ボタンをクリックします。
- 既存のマテリアル(シェーダーノード)の一覧が表示されます。
- 対象のノードを選択すると、同様にコードがクリップボードにコピーされます。
コンポジットノード
- 「Compositor to Python」 セクションにある「Scene Compositor Nodes」ボタンをクリックします。
- シーンに設定されたコンポジットノードがPythonコードに変換され、クリップボードにコピーされます。
出力されるコードの例
例えば、ジオメトリノードからは、次のようなPythonコードが生成されます。このコードを実行すれば、GUIで作成したものと全く同じノード構成をスクリプトから再現できます。
import bpy, mathutils
#initialize geometry_nodes node group
def geometry_nodes_node_group():
geometry_nodes = bpy.data.node_groups.new(type = 'GeometryNodeTree', name = "Geometry Nodes")
...
以下略
まとめ
- Blenderのノードは通常.blendファイルで共有しますが、テキストとして扱いたい場面も多くあります
- Node To Pythonアドオンを使えば、ノードを簡単にPythonコードに変換できます
- サイドバーから、ジオメトリ、シェーダー、コンポジットの各ノードに対応しています
- 生成されたコードは、Gitでのバージョン管理やドキュメント化に非常に便利です
Blenderのノードをより効率的に管理・共有したい方は、ぜひこのアドオンを試してみてください。

