マニュアル:GameSceneにおけるレイヤーシステムとプリセットノード

ACTION GAME MAKERで新しいシーンを作成すると、一連のデフォルトノードが自動的に生成されます:
SceneLayerDistantViewMiddleViewNearViewWallLayerBaseLayerPostEffectLayer、およびUI
このマニュアルでは、これらのノードの役割と効果的な使用方法について説明します。


SceneLayer(背景ノード)

SceneLayerは、AGMaker固有のBackgroundノードの名前を変更したものです。
これは、他のゲーム制作ツールで見られるレンダリングレイヤーの概念をシミュレートするために、Parallax2Dノードと連携して動作します。

Godot Engineでは、描画順序は通常Zインデックスによって決定され、グループ化はノード階層によって行われます(明示的な「レイヤー」によるものではありません)。
一部のノードには「Layer」という名称が含まれていますが、これらは特定のレンダリング目的に使用され、汎用的なレイヤーではありません。

AGMakerでのビジュアルスクリプティングをよりよくサポートするために、これらの専用ノードを通じてレイヤーの概念が形式化されました。


DistantView、MiddleView、NearView、WallLayer、BaseLayer(Parallax2Dノード)

名称は異なりますが、これらすべてのノードはGodotのParallax2Dノードの名前を変更したものです。

Parallax2Dは通常、背景のパララックス効果に使用されますが、ACTION GAME MAKERでは追加の重要な役割も果たします。
それは、SceneLayerが認識する描画レイヤーを定義することです。

レイヤーの使用例

MoveLayer(実行アクション)

オブジェクトを指定されたレイヤー(Parallax2D)の子として移動し、描画順序を変更します。

レイヤーの表示/非表示/有効化/無効化

ターゲットレイヤーとその子ノードの表示状態またはアクティブ状態を変更します。
レイヤーはSceneLayerの下での順序によって識別されます。
例えば、デフォルトの設定では:

  • DistantView = レイヤー 1

  • BaseLayer = レイヤー 5

GenerateObject / FireBullet

ObjectMountTargetが指定されていない場合、生成されたオブジェクトは作成者自体の子ではなく、作成者と同じParallax2Dレイヤーの子として追加されます。

ポータルノード

プレイヤーがポータルを通過すると、プレイヤーはポータルノードと同じ**Parallax2Dレイヤー**の子として生成されます。


PostEffectLayer

これは、カメラとは独立してレンダリングを行うことができるGodotのCanvasLayerノードの名前を変更したものです。
PostEffectLayerは、AddSceneEffectまたはCancelSceneEffectアクションを使用して、フルスクリーンの視覚効果を適用するために使用されます。


UIレイヤー

これも名前を変更したCanvasLayerノードです。
UIレイヤーは、メニューの表示(OpenMenu/CloseMenu)やHPバーなどのHUD要素の表示に使用されます。

\u003e :warning: 重要
\u003e 他のレイヤーとは異なり、UIレイヤーには**Parallax2Dノードが含まれていません**。
\u003e このため、ビジュアルスクリプティングシステムでは有効なレイヤーとして認識されません
\u003e UIレイヤーにオブジェクトを生成するには、ObjectMountTarget必ず使用する必要があります

関連情報:


衝突処理に関する注意

AGMakerのレイヤーは描画順序を制御しますが、衝突検出は衝突レイヤーとマスクによって処理されます
つまり、BaseLayerのオブジェクトがUIレイヤーの要素と衝突することがあります。
ゲームプレイ以外のレイヤーにあるインタラクティブな要素を含むゲームプレイを設計する際は、注意してください。

関連情報: