現場レベルのゲーム制作が、すべてここで学べます。
この記事は、Unity ホラー風脱出ゲームの作り方をわかりやすく解説していくシリーズの第8回です。
前回はおばけが登場する“びっくり系”の異変を2種類追加し、演出面を強化しました。
これにより、ホラーゲームとしての緊張感がぐっと増しました!
前回の記事:

今回はいよいよ クリア演出 の実装に進みます。
この仕上げの工程が加わることで、ゲーム全体の流れがまとまり、作品としての完成形がぐっと見えてきます。
下準備をする
クリア演出を作成するにあたって、まずは Unity 内で必要な下準備を進めていきます。
デバッグ設定を解除して異変のランダム発生に切り替える
まずは、「Room_Start」プレハブに入りましょう。

Hierarchy から、以前作成した異変管理システム AnomalySystemOB を選択しましょう。

選択できたら、Inspector にある Event Manager(Script) コンポーネントを確認し、前回デバッグ用にオンにしていた Next Anomaly Forced のチェックを外しておきましょう。
これにより、また異変がランダムに出現するようになります。

ゴール用のオブジェクトを準備する
まずはHierarchyで右クリックして 「Create Empty」 を選択します。
作成された空のオブジェクトの名前を GoalGroup に変更しましょう。

作成した GoalGroup を Hierarchy から選択し、Inspector の Transform を以下の設定にしておきましょう。

設定ができたら GoalGroup を選択し、右クリックから
3D Object > Plane を選びます。
作成された Plane の名前を Goal_A に変更しておきましょう。
この Plane (Goal_A) が GoalGroup の子オブジェクト になっていればOKです。

作成した Goal_A を Hierarchy から選択し、Inspector の Transform を以下の設定にしておきましょう。

次に、「ゴールオブジェクト」をスクリプトで認識できるように、
専用の タグ(Tag) を設定していきます。
-
Hierarchy から Goal_A オブジェクトを選択します。
-
Inspector 上部の Tag プルダウンをクリックし、「Add Tag…」 を選択します。
-
開いた画面で 「+」 ボタンをクリックし、新しいタグを作成します。
-
名前を 「Goal」 に設定し、保存します。
-
もう一度 Goal_A を選択し、Tag を 「Goal」 に設定します。

次に、出口らしい見た目にするため、この平面にマテリアルをアタッチしていきます。
まずは Project ウィンドウで Assets フォルダ内を右クリックし、
Create > Folder を選択して、新しいフォルダを Materials と名付けましょう。

作成した Materials フォルダを開き、右クリックから
Create > Material を選択します。
作成されたマテリアルの名前を Goal_Material にしておきましょう。

作成した Goal_Material をクリックして選択し、Inspector から次のように設定していきましょう。

設定が完了したら、Project ウィンドウから Goal_Material を
Hierarchy 内の Goal_A へドラッグ&ドロップし、マテリアルを適用しましょう。

これでゴールオブジェクトの土台が完成しました。
続いて、反対側のゴールも作成していきます。
Hierarchy で Goal_A を選択し、Ctrl + D で複製します。
複雑されたオブジェクトの名前を Goal_B に変更しておきましょう。

Hierarchy から Goal_B を選択し、Inspector の Transform を
次のように設定していきましょう。

UnityのCanvasでフェードイン・フェードアウト用のUIを作成する
クリア後に次のシーンへ自然につなげるため、画面全体をフェードイン/フェードアウトさせるための UI を作成していきます。
まずは Hierarchy 左上の矢印ボタンをクリックして、Room_Start プレハブの中から一度抜け出しておきましょう。

プレハブから抜け出したら、Hierarchy から Canvas を選択し、
右クリックして UI > Image を作成します。
この Image はフェードイン・フェードアウト専用の UI になるので、
名前を FadeScreen に変更しておきましょう。
作成した Image が Canvas の子オブジェクト になっていればOKです。

作成した FadeScreen を Hierarchy から選択し、
Inspector の Rect Transform を次のように設定していきましょう。

次に、Color を次のように設定し、画面が見えるよう 透明な状態 にしておきます。

Unity C#スクリプトでゴール到達&フェードイン・アウト演出を実装する
ここまでに準備したオブジェクトを、スクリプトから制御してクリア演出を完成させていきます。
また、ゴール到達後から次の展開へとつながる、画面推移の流れをここで作り上げましょう。
フェード用UIをスクリプトで簡単に操作できるようにする
まずは Project ウィンドウから script フォルダを開き、
その中で右クリックして Create > MonoBehaviour Script を選択しましょう。
作成されたスクリプトの名前を FadeController に変更します。
スクリプトを作成できたら、ダブルクリックして開きましょう。
すると、Visual Studio(もしくはUnity に設定している外部エディタ) が起動し、
FadeController.cs のコード編集画面 が開きます。

以下を「FadeController」に記述しましょう。
まとめと次回予告

今回は、ゴールの表示からフェードアウトまでの クリア演出 を実装し、
ゲームとしてひとつの流れが完結するように仕上げました。
ゴール出現、フェード処理が連動することで、
プレイ感にメリハリが生まれ、作品の完成度がさらに高まりました。
次回は、現在のゲームが 初見プレイヤーにとってルールや操作が分かりにくい状態 である点を改善していきます。
案内板や操作説明などのガイド要素 を作成し、ユーザビリティを大きく向上させるパートに進みます。
次回の記事↓

現場レベルのゲーム制作が、すべてここで学べます。






コメント