ゲーム制御

GameMode  [BluePrint/GameModeBase]

GameModeはUE側に搭載されているもので、ゲームルールなどを制御しています。

他のどのブループリントからもアクセスできるので、
花咲か妖精UEでは色々な機能をここに集中させていますが、
それが設計的によろしいのかどうかはなんとも言えません。

主にやっていることは、
・ゲームフロー(開始、ゲーム中、リザルト、ゲームオーバー等々…)の進行
・時間制御(ヒットストップとか演出用スローとか)、ゲーム内時間の更新
・敵の発生
・ライフやボムゲージ(このゲームは仕様的にプレイヤーにはHPが無いため)
・スコア
という感じ。

ワールド設定欄から起動するGameModeを選択します。

GameMode自体はいくつでも作ることができるので、
起動するGameModeによってルールが変えられるといった仕組みです。
ちなみに同じ箇所にある“Default Pawn”がプレイヤーとして起動するアセットです。

レベルブループリント

今開いているワールドを“レベル”と呼びます。
レベルに対してブループリントが1つ割り当てられており、自動的に実行される様になっています。
レベルに依存した処理をここに書くことになります。
このゲームではゲーム開始時のカメラ演出制御など。
シーンに配置したオブジェクトにアクセスできるのはこのレベルブループリントからのみなので、
花の成長によるモデルや判定の差し替えはここから行っています。

また、キー入力から発生するデバッグ機能もここに入っています。
(ほんとはGameModeに入れたかったんですが、GameModeではキー入力が取れない)

マチネ

主にリアルタイムデモを作るためのものです。

花咲か妖精UEでは、ゲーム開始時やゲームオーバー、ゲームクリア時に流れる演出で使用しています。
再生と終了の制御はレベルブループリントから行われています。

カメラ  [BluePrint/Camera/CameraDefault]

カメラは作っただけでは実行時映らないので、
プレイヤーコントローラを取得してメインカメラとして設定します。


このゲームは定点カメラに近い仕様なため、GameModeから単独で生成配置され、
カメラ自身からプレイヤーや敵の位置関係などを監視して自己移動しています。

例えばプレイヤーの子供にカメラを付けるとプレイヤーを映すカメラになります。
新規プロジェクト作成時テンプレートのSide Scrollerなど参照のこと。

あとこのゲームではカメラの子供にHUD(ゲージ)をくっつけています。
ゲージ類でも3D関係が使える様にしておくためでしたが、
ポストプロセスやライティングにゲームと同じ影響をくらう辺りちょっと微妙なのですが。
(HUD用のカメラを作るのが常套手段ですが、やり方分からなかった)