このマニュアルでは、バージョン 1.0.14 で導入された**「Object Mount Target」ノードと「Mount ID」機能**について説明します。
「Object Mount Target」ノードとは?
Object Mount Target ノードを使用すると、FireBullet や GenerateObject などで生成されたオブジェクトがシーンツリー内のどこにスポーンするかを指定できます。
このノードにMount ID(文字列値)を割り当てます。オブジェクト生成アクションでこの Mount ID を指定すると、生成されたオブジェクトは対応する Object Mount Target ノードの子要素として作成されます。
例:
Object Mount Targetノードの Mount ID を"target1"に設定します。- プレイヤーの
FireBulletアクションで、生成時の Mount ID を"target1"に設定します。 - 弾丸は、Mount ID が
"target1"のノードの子要素として生成されます。
これは、カメラ追従動作における
Camera Target SettingsとTarget IDの仕組みと類似しています。
Mount ID が指定されていない場合、生成されたオブジェクトはスポーナーが属する Parallax2D ノードの下に作成されます。
使用ケース 1:UI レイヤーでのオブジェクト生成
UI レイヤーでは通常 Parallax2D ノードを使用しないため、UI 要素からオブジェクトを生成する際は、Object Mount Target を使用する必要があります。
使用ケース 2:異なるレイヤーへのオブジェクト生成
以前は、生成されたすべてのオブジェクトはスポーナーと同じレイヤーに強制的に表示されていました。
この機能により、「レイヤー移動」アクションを使用せずに、オブジェクトを異なるレイヤーに生成できるようになりました。
例:
- 背景にあるタレットが、追加の設定なしでプレイヤーと同じ前景レイヤーに弾丸を生成できるようになりました。
非推奨となった ObjectRoot ノードについて
バージョン 1.0.13 以前で使用されていた ObjectRoot ノードは、同様の目的を果たしていました。
バージョン 1.0.14 以降、この機能は**Parallax2D が代替**しており、ObjectRoot は非推奨とされています。
動作は継続しますが、以下の対応を推奨します:
- 子オブジェクトを階層を一段上げます(例:
BaseLayerや他のParallax2Dノードの直下)。
ただし、UI レイヤーには Parallax2D ノードが含まれていないため、UI 関連のオブジェクト生成には引き続き Object Mount Target ノードを使用してください。