ACTION GAME MAKER は、Godot のネイティブな親/子ノード関係とは異なる、親オブジェクトと子オブジェクトという独自の概念を導入しています。
このシステムは、プレイヤーのサブユニットや敵の部位などを構造化し、管理しやすい形で実装するために設計されています。
親子関係で何ができるか?
親子関係により、以下の動作が可能になります。
-
子オブジェクトによる親の自動追従
-
子オブジェクトが被弾した際の、子から親へのダメージ転送
さらに、実行アクション(例:ChangeObjectProperty)や条件(例:SwitchVariableChanged)において、親オブジェクトを直接ターゲットに指定することもできます。
親子関係の作成方法
親オブジェクト側
特定の実行アクションや AGMaker ノードを通じて、親から子オブジェクトを生成できます。
実行アクション
-
Generate Object
-
Fire Bullet
注意:これらのアクションを通じて生成されたオブジェクトは、スポーン元のオブジェクト下のシーンツリーにおける子ではなく、兄弟関係にあるか、
MountTargetで指定されたレイヤーに配置されます。
MountTargetのマニュアルはこちらをご覧ください:https://guild.rpgmakerofficial.com/t/topic/6277
AGMaker ノード
- BindObjects
このノードは、2 つのオブジェクトを強制的にバインドします。また、親子関係で子オブジェクトを生成するためにも使用できます。
子オブジェクト側
子オブジェクトの動作を定義するには、子オブジェクトに AGMaker 専用のノードを含める必要があります。
ChildSettings
ChildSettings で設定できる項目
-
Follow Type(追従タイプ)
常時追従か、距離または時間による遅延追従かを選択できます。追従速度は、子オブジェクトの移動速度設定に基づきます。 -
Damaged Behavior(被弾時の挙動)
子がダメージを受けるか、代わりに親がダメージを受けるかを選択できます。
親がダメージを受ける場合、子からのダメージ倍率を適用することも可能です。
これにより、BindObjectsと組み合わせることで、弱点や装甲板のようなメカニクスを再現できます。 -
Synchronization Options(同期オプション)
子オブジェクトの方向、回転、スケール、ビジュアルフィルターなどを親と同期できます。
また、親の攻撃からのダメージを無視するというプロパティも用意されています。