現場レベルのゲーム制作が、すべてここで学べます。
【永久会員チケット】

全講座を見放題で学ぶ
ソースコード・素材・プロジェクトすべて公開。
Unityの基礎から応用まで、一生使えるスキルを体系的に習得。
この記事は、Unity ホラー風3D脱出ゲームの作り方をわかりやすく解説していくシリーズの第10回です。
前回は、案内盤と操作案内を追加し、初見プレイヤーでも進みやすい環境を整えました。
前回の記事:

Unity ホラー風脱出ゲームの作り方9 案内盤と操作ガイドの導入でゲームのユーザビリティを向上させる
この記事は、Unity ホラー風脱出ゲームの作り方をわかりやすく解説していくシリーズの第9回です。前回の記事では、ゴールの表示からフェードアウトまでの クリア演出 を実装し、ゲームとしてひとつの流れが完結するように仕上げました。ゴール出現と...
今回は、システムメニューを実装して細かなゲーム設定が行えるようにし、さらに多言語に対応したローカライゼーション機能を組み込んでいきます。
また、最後にゲームの不具合を修正して完成とします。
ゲーム設定画面となるシステムメニューを作成する
まずは Unity 上で、プレイヤーがいつでも開ける「システムメニュー用の画面」を用意します。これは Pause メニューのようなイメージで、ゲーム中に Esc キーを押すと表示されうUIにします。
UIを準備する
ここでは、メニューの基本構造として以下を配置していきます。
- ゲーム画面での操作案内
-
背景を区別するフェード用パネル
-
メニュー本体
-
設定(Settings)
-
ゲーム終了(Quit)
-
ゲームに戻る(Resume)
ゲーム画面での操作案内
まずは、プレイヤーが「ESCキーでシステムメニューを開ける」ことをわかりやすく伝えるため、画面に操作案内のテキストを表示しておきます。
- Hierarchy から Canvas をクリックします。
- 右クリックして UI > Text – TextMeshPro を選択しましょう。
- 新しく作成されたテキストオブジェクトの名前を 「ESC_Guide」 に変更します。

作成した ESC_Guide を選択して、Inspector から以下のように設定しましょう。

背景を区別するフェード用パネルを作成する
ここでは、システムメニューを開いたときに設定項目の UI がゲーム画面と混ざって見えないよう、背景に薄い白のフェードを入れるパネルを作成します。これにより、メニューがしっかりと前面に浮き出て見えるようになります。
Hierarchy から Canvas をクリックし、右クリックで UI > Image を選択してパネルを作成し、生成された Image の名前を System_Menu に変更します。

作成された System_Menu を選択して、Inspector から 以下のように設定しましょう。
AnchorはStretch-Stretchです。

メニュー本体のUIを準備する
ここでは、システムメニューで実際に操作する「メニュー本体」の UI を配置していきます。今回準備する項目は、ゲーム設定に必要となる基本的な内容をひと通り揃えています。
用意する UI 一覧
メニューのタイトル
先ほど作成した System_Menu を Hierarchy からクリックし、右クリックで UI > Text – TextMeshPro を選択します。生成されたテキストの名前を Menu_Title に変更しましょう。

作成した Menu_Title を選択して、Inspector から 以下のように設定しましょう。
(PosX, PosY) = (0, 0)、(Width, Height) = (200, 50)です。

解像度
System_Menu を Hierarchy からクリックし、右クリックで UI > Text – TextMeshPro を選択します。生成されたテキストの名前を Resolution に変更しましょう。

作成した Resolution を選択して、Inspector から 以下のように設定しましょう。

Resolution を Hierarchy から選択し、右クリックで UI > Dropdown – TextMeshPro を選択します。
生成されたドロップダウンの名前を Resolution_Dropdown に変更します。

作成した Resolution_Dropdown を選択して、Inspector から 以下のように設定しましょう。

FPS
Hierarchy から Resolution をクリックし、CTRL + D で複製します。
複製したオブジェクトの名前を Resolution → FPS、そしてその子にある Resolution_Dropdown → FPS_Dropdown に変更しましょう。

複製した FPS を選択して、Inspector から 以下のように設定しましょう。

感度
Hierarchy から FPS をクリックして CTRL + D で複製します。
複製したオブジェクトの名前を FPS → Sensitivity に変更し、子オブジェクトの FPS_Dropdown をクリックして右クリックから Delete で削除しましょう。

複製した Sensitivity を選択して、Inspector から 以下のように設定しましょう。

Hierarchy から Sensitivity をクリックし、右クリックで UI > Slider を選択します。
作成されたスライダーの名前を Sensitivity_Slider に変更しましょう。

作成した Sensitivity_Slider を選択して、Inspector から 以下のように設定しましょう。

音量
Hierarchy から Sensitivity をクリックし、CTRL + D で複製します。
複製したオブジェクトの名前を Sensitivity → Volume、そしてその子にある Sensitivity_Slider → Volume_Slider に変更しましょう。

複製した Volume を選択して、Inspector から 以下のように設定しましょう。

視野角
Hierarchy から Volume をクリックし、CTRL + D で複製します。
複製したオブジェクトの名前を Volume → FOV、そしてその子にある Volume_Slider → FOV_Slider に変更しましょう。

複製した FOV を選択して、Inspector から 以下のように設定しましょう。

次に Hierarchy から FOV を開き、その子オブジェクト FOV_Slider > Handle Slide Area > Handle をクリックします。
その状態で右クリックし、UI > Text – TextMeshPro を選択してテキストを作成し、名前を FOV_Value に変更します。

作成した FOV_Value を選択して、Inspector から 以下のように設定しましょう。

ゲーム終了
System_Menu を Hierarchy からクリックし、右クリックで UI > Button – TextMeshPro を選択します。生成されたテキストの名前を Button_Quit に変更しましょう。

作成した Button_Quit を選択して、Inspector から 以下のように設定しましょう。

Button_Quit の子オブジェクトである Text (TMP) を選択して、Inspector から 以下のように設定しましょう。

ESCでゲームへ戻る
System_Menu を Hierarchy からクリックし、右クリックで UI > Text – TextMeshPro を選択します。生成されたテキストの名前を Menu_Return に変更しましょう。

作成した Menu_Return を選択して、Inspector から 以下のように設定しましょう。

最後に UI を整える
まず、Hierarchy から Canvas 内の並び順 を整えましょう。
上から順に center → FadeScreen → System_Menu → WASDGuide_UI → ESC_Guide の順番に並べてください。

次に System_Menu を選択し、Inspector 左上のチェックボックスを外して 非アクティブオブジェクト にしておきましょう。

スクリプトから制御する
SettingsManager.csからUIと設定を連携
Project ウィンドウから script フォルダを開き、右クリックして Create > MonoBehaviour Scriptを選択し、作成されたスクリプトの名前を SettingsManager に変更します。

スクリプトを作成できたら、ダブルクリックして開きましょう。
すると、Visual Studio(もしくはUnity に設定している外部エディタ) が起動し、
SettingsManager.cs のコード編集画面 が開きます。
以下を「SettingsManager」に記述しましょう。
おさらい

これで、全10回にわたる「Unity 8番出口ライクのホラー風脱出ゲームの作り方講座」 が無事完了しました。
ここまでの工程では、日本語フォントの設定から始まり、プレイヤーの操作やポストプロセスによる雰囲気づくり、リバーブを用いた“廊下と部屋”の音響演出、そして異変システムの構築と正解判定、その結果を記録するカウンターの作成まで進めてきました。
さらに、方向感覚を守るための EXIT 看板の実装、ゴール演出、動的な異変の追加といったゲーム性を高める要素も取り入れました。
終盤では、案内盤や操作ガイド、システムメニューやローカライゼーション機能など、プレイヤーが快適に遊べるためのユーザビリティ向上にも力を入れてきました。
本講座を通して、8番出口ライクのゲームがどのように組み上がっていくのか、一連の流れを理解していただけていれば幸いです。
ここまでお疲れさまでした!ぜひ今回作った仕組みをベースに、オリジナルの演出や新しい異変を加えて、あなただけの作品へと発展させてみてください。
Unity 8番出口ライクのホラー風脱出ゲームの作り方講座に戻る↓

Unity ホラー風3D脱出ゲームの作り方 ~8番ライクゲーを作りながらポストプロセスや音響表現をマスターしよう~
このUnityゲーム開発講座では3DUnityとC#プログラミングでホラーテイストな3D脱出ゲームの制作を行っていきます!
講座は初めてUnityを使ってゲームを作る初心者やUnityのポストプロセスやAudio Reverbなどの演出力を磨きたい中級者以上の方に役立つでしょう。
講座は現在全部で10回に分かれており、ゲーム制作のスキルアップをしながらゲームを完成させられるチュートリアル講座になっています。
「Unityで8番出口のような脱出ゲームを作ってみたい!」
「Unityでホラーゲーム風の演出表現や表現技術を習得したい!」
そんなあなたのためのホラー風脱出ゲームの作り方講座です!
Unity ホラー風3D脱出ゲームの作り方講座に戻る >>
コメント