Unity ホラー風脱出ゲームの作り方9 案内盤と操作ガイドの導入でゲームのユーザビリティを向上させる | Unity入門の森 ゲームの作り方

Unity ホラー風脱出ゲームの作り方9 案内盤と操作ガイドの導入でゲームのユーザビリティを向上させる

Unity ホラー風3D脱出ゲームの作り方 ~8番ライクゲーを作りながらポストプロセスや音響表現をマスターしよう~

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

【永久会員チケット】

永久会員チケット|Unity入門の森

全講座を見放題で学ぶ

ソースコード・素材・プロジェクトすべて公開。
Unityの基礎から応用まで、一生使えるスキルを体系的に習得。

この記事は、Unity ホラー風脱出ゲームの作り方をわかりやすく解説していくシリーズの第9回です。

前回の記事では、ゴールの表示からフェードアウトまでの クリア演出 を実装し、ゲームとしてひとつの流れが完結するように仕上げました。

ゴール出現とフェード処理が連動することでプレイ感にメリハリが生まれ、作品の完成度をさらに高めました。

前回の記事:

Unity ホラー風脱出ゲームの作り方8 Canvas UIを用いたフェードイン・アウト処理でクリア演出を作成する
この記事は、Unity ホラー風脱出ゲームの作り方をわかりやすく解説していくシリーズの第8回です。前回はおばけが登場する“びっくり系”の異変を2種類追加し、演出面を強化しました。これにより、ホラーゲームとしての緊張感がぐっと増しました!前回...

今回は、初めてプレイするユーザーにはルールや操作が分かりにくい現状を改善していきます。

案内板や操作説明といったガイド要素を追加し、ゲーム全体のユーザビリティを大きく向上させるパートへ進みます。

【ゲームの作り方講座プレゼント中!】

案内盤を作成する

まず、Projectウィンドウから Assets > Prefab フォルダを開き、その中にある 「Room_Start」プレハブ をダブルクリックして開きましょう。

次に、Hierarchyから Canvas の子オブジェクト「Corridor number B」 を選択し、CTRL + D で複製します。

複製したオブジェクトの名前を 「InformationBoard_A」 に変更しましょう。

Hierarchy で 「InformationBoard_A」 を選択し、Inspector の RectTransform を次のように設定しましょう。

「InformationBoard_A」の子オブジェクトである Text を、Hierarchy で選択し、Inspector から次のように設定しましょう。Tag設定を変更するのを忘れずに。

次に、Hierarchy から「InformationBoard_A」を選択し、CTRL + D で複製します。複製したオブジェクトの名前を「InformationBoard_B」に変更しましょう。

Hierarchy で 「InformationBoard_B」 を選択し、Inspector の RectTransform を次のように設定しましょう。

現在のままでは UI が発光しており、ゲームの世界観から浮いて見えてしまいます。そこで、UI に専用のマテリアルを適用します。

Project ウィンドウで Assets フォルダ内の Materials フォルダを開き、右クリックして Create > Material を選択し、作成したマテリアルの名前を「UI_Material」に変更しましょう。

Project ウィンドウから「UI_Material」を、Hierarchy 内の

「Corridor number A」

「Corridor number B」

「InformationBoard_A」

「InformationBoard_B」

の4つのInspectorないのMaterialにそれぞれドラッグ&ドロップして適用しましょう。

すると、文字が重なり合ってしまい、次のように表示が競合してしまいます。

CTRL を押しながら、Hierarchy で

「Corridor number A」

「Corridor number B」

「InformationBoard_A」

「InformationBoard_B」

の子オブジェクトである Text を順にクリックし、RectTransform を次のように設定しましょう。

操作案内 UI を作成する

まずは Hierarchy 左上の矢印ボタンをクリックして、Room_Start プレハブの中から一度抜け出しておきましょう。

Hierarchy から Canvas を選択し、右クリックして UI > Text – TextMeshPro を選択しましょう。作成した UI の名前を「WASDGuide_UI」に変更します。

作成した「WASDGuide_UI」を選択し、Inspector から次のように設定しましょう。

Project ウィンドウから script フォルダを開き、

その中で右クリックして Create > MonoBehaviour Script を選択しましょう。

作成されたスクリプトの名前を HideOnKeyOnce に変更します。

スクリプトを作成できたら、ダブルクリックして開きましょう。

すると、Visual Studio(もしくはUnity に設定している外部エディタ) が起動し、

HideOnKeyOnce.cs のコード編集画面 が開きます。

以下を「HideOnKeyOnce」に記述しましょう。

スクリプトの解説

「指定したキーが押されたら、一度だけ UI を非表示にする」

それだけをシンプルに実現するスクリプトです。

操作説明UI(WASDガイドなど)に最適で、

ゲーム開始直後にプレイヤーがキーを押したタイミングで説明UIを消す場面で使います。

InputAction の参照
  • どのキー入力をトリガーにするかを指定する

  • 例)AnyKey / Move / Confirm など

  • ここで設定した InputAction が押された瞬間にUIが消えます

対象の UI
  • 非表示にしたい UI を指定

  • 何も指定しない場合は このスクリプトが付いているオブジェクト自身が対象

一度だけ消すためのフラグ
  • UI を一度消したあとは、

    どんなにキーを押されても再実行されないようにするための変数

Awake()

UI が指定されていなければ、

自分自身を対象にする(操作ミスを防止)

OnEnable()
  • InputAction が押されたときに OnPerformed() が呼ばれるよう登録

  • 無効なら action を有効化(Enable)する

OnDisable()
  • イベント登録は OnDisable で解除するのがお作法

  • Null参照防止とバグ回避のために必要

OnPerformed()

ここが UIを消す本体

  • すでに消していれば何もしない

  • 初めて発動したときだけ

    UI の GameObject を SetActive(false) にして一瞬で非表示

実行して動作を確かめてみる

追記が終わったら、CTRL + S で保存し、いったん Unity に戻りましょう。

Project ウィンドウから作成した「HideUIOnKeyOnce」スクリプトを、Hierarchy の「WASDGuide_UI」にドラッグ&ドロップしてアタッチしましょう。

「WASDGuide_UI」を選択し、アタッチしたスクリプトを Inspector から次のように設定しましょう。

次に CTRL + P でゲームを実行し、挙動を確認します。

文字が正しく非表示になり、案内盤がハンドライトで照らせていれば成功です。

今回のプロジェクトファイル

続きを読む
このコンテンツはパスワードで保護されています。 コンテンツを読みたい方はUnity入門の森ショップ(https://unityforest.shop/)で講座閲覧権を取得してね。

まとめと次回予告

今回は、案内盤と操作案内を追加し、初見プレイヤーでも進みやすい環境を整えました。

とはいえ、まだ快適に遊ぶための要素としては不十分です。

そこで次回は、システムメニューを実装して細かなゲーム設定が行えるようにし、さらに多言語に対応したローカライゼーション機能を組み込んでいきます。

次回の記事↓

Unity ホラー風脱出ゲームの作り方10 Unityでゲーム設定画面とローカライゼーション対応を実現する・バグ修正を行う
この記事は、Unity ホラー風3D脱出ゲームの作り方をわかりやすく解説していくシリーズの第10回です。前回は、案内盤と操作案内を追加し、初見プレイヤーでも進みやすい環境を整えました。前回の記事:今回は、システムメニューを実装して細かなゲー...

Unity ホラー風3D脱出ゲームの作り方講座に戻る >>

【ゲームの作り方講座もプレゼント中!】

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

【永久会員チケット】

永久会員チケット|Unity入門の森

全講座を見放題で学ぶ

ソースコード・素材・プロジェクトすべて公開。
Unityの基礎から応用まで、一生使えるスキルを体系的に習得。

コメント

タイトルとURLをコピーしました