golaem crowd ノード完全解説|Operators と Triggers を理解する

golaem crowd

golaemの挙動は「ノード」で制御されています。
一見複雑に見えるこのシステムですが、Operators(演算ノード)Triggers(発動条件ノード)を理解すれば、行動設計が一気に楽になります。


Operators(オペレータ)ノード

Operatorsは、「条件の処理」や「制御の加工」を行うノードです。
Triggerで起きた出来事を、どう扱うか・どう判断するかを決める役割を担います。

アイコン名前説明
Behavior Containerノードをまとめます。要はグループ。
Loop同じ動きを指定した回数分、何度も繰り返します。
Parallel別々の動きを、待ち時間なしで一気に同時に動かします。同時進行。
NoOrder一連の動作をランダムな順番で実行します。
If「もし敵がいたら攻撃、いなければ歩く」のように、
条件に合わせて動きを枝分かれさせます。
Randomその名の通り、複数のノードの中から、ランダムに選択します。
Blockトリガーが「真(true)」を返すまで(合図を出すまで)処理を停止し、
その後指定されたフレーム数だけ待機(遅延)します。
Anchorノードを見やすくする為のピン。

Triggers(トリガー)ノード

Triggersは、「何が起きたら行動するか」を定義するノードです。
行動の「きっかけ」を作るセンサーのような存在です。
※キャラクターは、RootBone位置が実行対象です。

アイコン名前説明
Random設定した確率(%)に応じて、
動きを始めたり止めたりします。
Current Frame今のフレーム番号が、
指定した数値になった時に発動します。
Polygon Zoneキャラクターが、指定したポリゴン範囲内に入った時に発動します。
Painted Zone特定の色で塗られたゾーンにキャラクターが入った時に発動します。
Texture2Dまたは3Dテクスチャの特定の色の場所にキャラクターがいる時に発動します。
Distanceカメラや他のオブジェクトとの距離が、指定した長さより近い(または遠い)時に発動します。
Driven AttributeMaya上のオブジェクトの数値(回転や大きさなど)が、指定した値になった時に発動します。
Expression自分でエクスプレッションを書いて制御します。
自由度が高いが難易度も高い。
Behavior Time動き(ビヘイビア)が始まってから、
一定の時間が経過した時に停止させます。
Motion Timeモーションが始まってから、一定の時間が経過した時に停止させます。
Script CommandPythonやMELなどのプログラムを実行し、成功した時に発動します。(失敗したら実行せず。)
Physics Collision他のキャラクターや物理オブジェクトにぶつかった時に発動します。
Fade徐々に始まったり、終わったりします。
Booleanやるかやらないか。

条件演算ノード(論理処理)

条件式を組み立てるためのノードです。

ノード条件参考例
つないだ条件がすべて当てはまった時にだけ発動します。例:敵が近くて、かつ体力が低いとき
つないだ条件のうち、どれか一つでも当てはまれば発動します。例:敵が近い、または攻撃を受けたとき
つないだ条件のうち、「どちらか片方だけ」が当てはまった時に発動します。両方当てはまる場合は発動しません
条件を真逆にします。例:「敵が近くにいる」につなぐと
「敵が近くにいない」ときに発動
前のトリガーが合計で何回(または何フレーム)当てはまったかをカウントし、指定回数に達したら発動します。例:「特定の条件が3秒間続いたら行動開始」

まとめ

ゴーレムのノード設計は、

  • Trigger = きっかけ
  • Operator = 判断
  • Behavior = 行動

この3つで構成されています。

仕組みを理解してしまえば、
「感覚的な配置」から
「意図した制御設計」へ変わります。

タイトルとURLをコピーしました