loose introduction about Animation Nodes (Script)
概要
script
ノードの説明。
このノードは他のノードと異なり python や 数学知識 を必要とするコードベースのノードとなるので、利用に注意。
Animation Nodes
上で python スクリプトを実行することができるノード。
その特性上、ノードによるビジュアルプログラミングというよりはバニラの blender
が提供しているコードベースのプログラミングになる。
また、script
はコードベースという性質のために他のノードにはない特徴がある。
- 追加した入力ソケットに別のノードを接続した場合、
script
ノード内では接続したノードから受け取った値で変数が初期化される。 - 同様に出力ソケットにノードを接続した場合、
script
ノードから接続したノードへ値を渡すことができる。 - python として動くので、コードの中身の基本ルールは python ベース。
- python にはモジュールインポート機能が存在するが、
*
を用いたモジュールインポートは制限されている。from random import *
というよくある書き方はできなくなっている。 script
ノードは 以下の python モジュールをデフォルトでインポートしているbpy
sys
itertools
animation_nodes
をAN
として短縮系でインポートAN.algorithms
をalgorithms
として短縮形でインポートMathutils
のVector
,Matrix
,Quaternion
,Euler
.AN.data_structures
に含まれている全モジュール :Vector3DList
,Matrix4x4List
,MeshData
などなど
注意点
ノード内に書いたコードは基本的に Animation Nodes
が処理を実行する度に処理される。
そのため、細かく制御したい場合は条件分岐やトリガーなどで制御すること。
下図は特に何も制御せず実行した例。
Animation Nodes
が処理を実行する度に結果が変わっている。
欠点
コードベース故にこのノードは他のノードと異なる欠点も存在する。
- 処理内容を記述しなければならないので、
Animation Nodes
だけではなく python や数学的知識が必要となる。
まとめ
このノードは特別説明するような内容はない。
ノードでは実現できない処理や機能をスクリプトとして Animation Nodes
へ追加するためのノード。