現場レベルのゲーム制作が、すべてここで学べます。
この講座は、「8番出口」ライクなUnityホラー風脱出ゲームの作り方講座シリーズの第3回です。
前回は、プレイヤーを「CharacterController」を使って移動・ダッシュできるようにし、マウス操作で視点移動を可能にしました。
さらに、足の速さに応じて足音が変化するサウンド処理も追加し、操作面の完成度がぐっと上がりました。
前回の記事:

今回はその続きとして、いよいよマップの作成とグラフィック設定に入ります。そしてライティング効果でUnityで部屋を真っ暗にする方法を学びます。
その後、懐中電灯を作り、部分的に明るくする方法や暗くする方法を習得します。
シンプルな廊下でも、照明やポストプロセス設定を工夫することで“異変が起きそうな空気”やホラー演出をUnityで実現できます。
脱出ゲームの舞台となる3DマップをUnityで作成する
異変が起こる部屋を作成する
まず、プロジェクトウィンドウから以下の順にフォルダを開きます。
Assets > _3DStealthGame > Prefabs > Environment > Rooms
この中にある 「Room_Start」 プレハブを、Hierarchy ウィンドウへドラッグ&ドロップします。
これで、ゲームのスタート地点となる“部屋”がシーン上に配置されました。

Room_Startをシーンに配置したら、次に位置とサイズを正しく設定します。
HierarchyでRoom_Startを選択し、Inspectorウィンドウを確認してください。
Transformの項目を以下のように設定します。
Position は X=0、Y=0.01、Z=0
Rotation は X=0、Y=0、Z=0
Scale は X=1、Y=1、Z=1
Yの値をわずかに「0.01」としているのは、床面と重なった際のチラつきを防ぐためです。
この設定で、部屋がシーンの中心に正しく配置されます。

では、Projectウィンドウから一度 Assetsフォルダ に戻ります。
フォルダ内の空いている場所で右クリックし、メニューから Create → Folder を選択してください。
新しく作成されたフォルダの名前を 「Prefab」 に変更します。
このフォルダは、今後作成するオブジェクトをプレハブ化して整理するための保存場所として使用します。

作成したPrefabフォルダを開き、
Hierarchy内のRoom_StartをProjectウィンドウへドラッグ&ドロップします。
すると、画面のように「Create Prefab or Variant?」というウィンドウが表示されます。

ここでは「Original Prefab(オリジナルプレハブ)」を選択してください。
これで、シーンに配置したRoom_StartがPrefab化され、
今後同じ部屋を複製したいときや異変演出用の部屋を作る際に、
簡単に再利用できるようになります。
↓一連の流れ

つぎに、Hierarchyウィンドウ内の空いている部分で右クリックし、メニューから 「Create Empty」 を選択します。
新しく作成された空のオブジェクトの名前を 「RoomGroup」 に変更しましょう。
この「RoomGroup」は、今後マップを構成する複数の部屋をまとめて管理するための親オブジェクトとなります。
続いて、Hierarchyにある「Room_Start」をRoomGroupへドラッグ&ドロップします。
これで「Room_Start」がRoomGroupの子オブジェクトになり、
部屋全体をひとつのグループとして扱えるようになります。

これにより座標がずれてしまいます。以下のように設定し直ししましょう。
「RoomGroup」のTransform

「Room_Start」のTransform

つぎに、Hierarchyウィンドウで「Room_Start」を選択した状態で、
キーボードの Ctrl + D を3回押します。
すると、Room_Startが合計4つに複製されます。
この4つの部屋を使って、マップ全体の通路や空間を構成していきます。

複製が完了したら、4つの「Room_Start」をそれぞれ選択し、InspectorのTransformを以下のように設定し直してください。
- 「Room_Start」のTransform

- 「Room_Start (1)」のTransform

- 「Room_Start (2)」のTransform

- 「Room_Start (3)」のTransform

すると、4つの「Room_Start」が円状に並んだ形で配置されているのが確認できると思います。
以下のようなマップ構成になります。

部屋を繋げる廊下を作成する
次に、Projectウィンドウで作成した「Prefab」フォルダ内にあるRoom_Startのプレハブを確認します。
Room_Startのプレハブをダブルクリックすると、
そのプレハブの中に含まれるオブジェクト構造が展開されます。
この操作を行うことで、Room_Start内部の壁や照明、ドアなどの構成要素を個別に確認・編集できるようになります。
以降は、異変演出を仕込む際にここへ直接アクセスして調整を行っていきます。

そのプレハブを開いた状態で、Projectウィンドウから次の順にフォルダを開きます。
Assets > _3DStealthGame > Prefabs > Environment > Rooms > Room_Blanks
この中にある 「Room_1x12」 を、Hierarchyウィンドウへドラッグ&ドロップします。

「Room_1x12」を選択した状態で、キーボードの Ctrl + D を3回押します。
これで「Room_1x12」が合計4つに複製されます。
この複製した通路を使って、部屋の奥へと続く長い廊下構造を作っていきます。

複製した4つの「Room_1x12」を選択し、InspectorのTransformを次のように設定してください。
- 「Room 1×12」のTransform

- 「Room 1×12 (1)」のTransform

- 「Room 1×12 (2)」のTransform

- 「Room 1×12 (3)」のTransform

すると、シーンビュー上にRoom_1x12が連なった廊下が完成していると思います。
しかし、この状態では重なっている部分が含まれているため、削除しておきましょう。
- 「Room 1×12」のHierarchy
「Wall_Staight_A (8)」、「Wall_Staight_C (4)」、「Wall_Staight_D (4)」を削除
↓CTRLキーを押しながらクリックで複数選択

- 「Room 1×12 (1)」のHierarchy
「Wall_Staight_A (4)」、「Wall_Staight_A (6)」、「Wall_Staight_B (3)」を削除
↓CTRLキーを押しながらクリックで複数選択

- 「Room 1×12 (2)」のHierarchy
「Wall_Staight_A (4)」、「Wall_Staight_A (6)」、「Wall_Staight_A (5)」、「Wall_Staight_B (3)」、「Wall_Staight_B (5)」、「Wall_Staight_C (3)」を削除
↓CTRLキーを押しながらクリックで複数選択

- 「Room 1×12 (3)」のHierarchy
「Wall_Staight_A (8)」、「Wall_Staight_A (9)」、「Wall_Staight_B (8)」、「Wall_Staight_C (4)」、「Wall_Staight_C (3)」、「Wall_Staight_D (4)」、「Wall_Staight_D (3)」を削除
↓CTRLキーを押しながらクリックで複数選択

↓すると以下のような形になると思います。

ここまでの作業が完了したら、Hierarchyウィンドウ左上にある「<」マークをクリックします。
これで、プレハブ編集モードから抜け出し、通常のシーン編集画面に戻ることができます。

シーンビューに戻ってみて、
以下のように配置されている状態になっていれば完璧です。

完成したマップを見てみる
では、ここまでで完成したマップにプレイヤーを配置して、実際に動作を確認してみましょう。
Hierarchyウィンドウから「Player」オブジェクトを選択し、
「Room_Start」内部の床の上に移動させます。

そのまま再生してみると、プレイヤーが廊下を伝って部屋を行き来できることを確認できるはずです。
これでゲームの基本的な移動エリアは完成しました。
ただし、現時点ではまだ明るさや演出が足りず、ホラーゲームとしての雰囲気は不十分です。
次の工程では、ライティングやポストプロセスを使って、
“異変が起きそうな空気感”を演出していきます。

ホラーゲームにふさわしいグラフィックを設定・作成する
この章では、光と影のバランスを調整してホラーらしい空気感を作るための設定を行います。
暗すぎて見えないわけではなく、“何かが潜んでいそう”と感じさせる明暗の作り方を目指していきます。
ライティングの設定
まず、今回のマップではDirectional Light(方向光)は使用しません。
シーン全体を暗めに保つことで、よりホラーらしい雰囲気を演出します。
Hierarchyウィンドウから「Directional Light」を選択し、
右クリックして「Delete」を選びましょう。
これでシーン内の基本光源が削除され、
部屋や廊下が薄暗い状態になります。

では次に、Lightingウィンドウを開き、上部タブの中から「Environment」を選択しましょう。
この設定では、シーン全体の環境光(Ambient Light)や空の反射(Skybox)など、
全体的な明るさや色味の基準を調整できます。
ここから、ホラーゲームにふさわしい暗く沈んだ雰囲気を作っていきます。

Environmentタブを開いたら、
「Environment Lighting」の項目にある Source を Color に変更します。
その下の Ambient Color をクリックし、Black(真っ黒) に設定してください。
これにより、シーン全体に自然光が入らなくなり、
空や背景からの明るさが完全に遮断されます。
部屋や廊下が暗く沈み、ホラーゲームらしい不穏な空気感が生まれます。

次に、Hierarchyウィンドウから「Player」オブジェクト内にある MainCamera を選択します。
Inspectorウィンドウで Cameraコンポーネント を確認し、
下部の Environment 項目にある Background Type を Solid Color に変更してください。
続いて、Background の色を Black(黒) に設定します。
これにより、カメラの背景が真っ黒になり、
廊下の奥や見えない空間がより深く沈んだように見えるようになります。
ホラーゲーム特有の“暗闇の中に何かが潜む”雰囲気が強調されます。

Post Processingによるフィルター設定
この章では、ポストプロセッシング(Post Processing) を使って、
シーン全体にホラーゲームらしい雰囲気を加えるためのフィルター効果を設定していきます。
光のにじみや暗がりの強調、画面のノイズなどを調整することで、
「何かが起こりそうな空気感」を演出します。
Hierarchy内にある「Global Volume」を選択します。
Inspectorウィンドウを確認すると、
このオブジェクトにVolume (Global) コンポーネントが追加されています。
ここから、Post Processing(ポストプロセッシング)の各種設定を行っていきます。

Post Processing Volumeを選択した状態で、以下の項目を次のように変更しましょう。
もし項目が見つからない場合は、「Add Override」ボタンから該当する効果を追加します。

まとめと次回予告
今回は、脱出ゲーム用マップを作成しました。
ホラーゲームにふさわしいグラフィックとして、ライティングやポストプロセス効果を設定し、プレイヤーにハンドライトを持たせるところまで解説しました。
これにより、暗闇の中で光を頼りに進むような、
“恐怖と緊張感のある探索体験”が完成しました。
次回は、シーンの臨場感をさらに高めるために、
リバーブ(反響音)による音響調整を行っていきます。
足音や環境音に空間的な響きを加え、
より没入感のあるホラー演出を実現しましょう。
次回の記事↓

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






コメント