チャムコード

チャーさんのUnityゲームラボです。Unityでゲーム制作する時に使うコードやノウハウをメインに発信しています。Unityでゲーム制作したいと思っているなら読んでください。

ゲーム開発ノウハウ

Unityでのゲームオーバー機能の作り方をわかりやすく説明

投稿日:2024年5月27日 更新日:

 

うも、チャーさんです。

この記事では、Unityでゲームオーバー画面の

作り方を説明します。

 

この記事を読めば、あなたはゲームオーバー画面を作れて

さらにゲームオーバーの条件が満たされたら

ゲームオーバー画面に遷移するという機能を作れます。

 

ですが、読まないとやり方がわからず悩むでしょう。

なので、ゲームオーバー画面を作りたいならぜひ

今見てください。

 

またこのブログではUnityのゲーム開発に使える

ノウハウを記事にして書いてるので、ぜひブックマーク

お気に入りをしておいてください。

 

Unityでゲームオーバー機能を作る方法

動画verはこちら

 

ということで、早速本題です。

Unityでゲームオーバーの機能を作るには、

 

1、ゲームオーバーの画面を作る

2、スクリプトにゲームオーバーの画面に遷移する機能をかく

3、ゲームオーバー用のsceneをbuild settingで追加する。

4、プレイヤーオブジェクトとかにスクリプトを貼って試す。

 

大まかにはこの4つをやるだけでOKです。

 

ということで早速説明します。

 

ゲームオーバーの画面を作る

 

ですが、まずゲームオーバー機能を作るには、

 

ゲーム画面シーン >>>>> ゲームオーバー画面シーンに遷移

という流れで実現させます。

 

なのでまずゲームオーバー画面を作りましょう。

といってもこちらは簡単でして、

まず新しいSceneを用意してください。

 

 

Assetsの中で右クリックしてCreate>Sceneを

押せばシーンは作れます。

 

 

次にそのシーンにGameOverとでも名前を

つけましょう。

 

それができたら今作ったsceneのアイコンを

ダブルクリックして、GameOverのシーンに移りましょう。

 

 

で、そこまできたら、今度は

Hierarchyの中で+ボタンをクリックして、

UI > Text をクリックしてください。

 

すると、Canvasと、Textというのが

親子関係で追加されます。

 

 

そのTextオブジェクトのインスペクターにある

TextというところにNew Textと書いてある入力欄が

あるので、好きなように書き換えましょう。

 

 

Game Overとかがベタです。

で、これが実際のゲームでは、ゲームオーバーの時に

表示される文字になります。

 

また今のままだと文字が小さいので、

font sizeというところの数字を14から増やして

文字を大きくしましょう。

 

 

さらに、

 

ParagraphのAlignmentというのがあるので

ここを真ん中、三本線になってるやつをクリックして

中央寄せしておきましょう。

 

これで一旦テキストはOKですが、

 

今のままだとゲーム画面で左のほうに表示されるので、

TextのインスペクターにあるRect Transform

というコンポーネントで、

 

 

PosX,PosY,PosZを全部0にしましょう。

するとゲーム画面のど真ん中に文字が

表示されるようになります。

 

 

ここまでできたらとりあえずゲームオーバー画面

は一旦完成です。

 

 

で、次に

 

スクリプトにゲームオーバーの画面に遷移する機能をかく

 

ですが、

 

Assets内で右クリックからスクリプトを

作成し、スクリプトの中には以下のような

記述を書きましょう。

 

using System.Collections;
using System.Collections.Generic;

using UnityEngine;
using UnityEngine.SceneManagement;

public class gameOver : MonoBehaviour
{
// Start is called before the first frame update
void Start()
{

}

// Update is called once per frame
void Update()
{

}

public void OnCollisionEnter(Collision col){
 SceneManager.LoadScene(“gameOver”);
}
}

 

 

ということでスクリプトの説明です。

 

まず注意点としては、スクリプト冒頭の

using UnityEngine.SceneManagement;

を忘れないようにしましょう。

 

ゲームオーバーの画面に遷移する際に

使うメソッドがあるのですがこれがないとエラーが

出ます。

 

 

で次に、

 

public void OnCollisionEnter(Collision col){
 SceneManager.LoadScene(“gameOver”);
}

 

ですが、この{}の中の

SceneManager.LoadScene(“gameOver”);

というのがシーン遷移用の記述です。

 

上の記述では、このスクリプトを貼り付けた

オブジェクトが何かに衝突したらゲームオーバー画面に

遷移(飛ぶ)という記述になってます。

 

 

また文法的な説明としては、

SceneManager.LoadScene(“ここにシーン名をかく”);

です。

 

なので最初にゲームオーバー用のSceneを作った際に

つけた名前を上記の()の引数のところに書いてやると

あなたが用意したゲームオーバー用のシーンに飛びます。

 

 

またここがいわばゲームオーバーの画面に遷移する

条件に値するとこなので、慣れてきたら

HPが0になったらとか、いろいろ好きにやってみましょう。

 

 

で、ここまでできたら次は、

 

ゲームオーバー用のsceneをbuild settingで追加する。

 

ですが、この作業をしないとシーン遷移はできません。

 

ゲームオーバーのシーンに遷移するには

メニューのFile > Build Settingをクリックし、

Scenes In Buildというところに、

 

 

ゲームオーバー用のシーンを追加する必要があります。

(上記画像は追加済みのですが、最初は何もないはずです。)

 

ということで、Assets内のゲームオーバー用のシーンを

ドラッグ&ドロップして、

 

このScenes In Buildというところに持っていきましょう。

すると追加されます。

でそれをしたらbuild settingの画面を閉じましょう。

 

下にあるbuildボタンは押さなくても大丈夫です。

 

 

で次に

 

プレイヤーオブジェクトとかにスクリプトを貼って試す

 

ですが、

あとはゲーム用のシーンに戻り、2で用意したスクリプトを

プレイヤーオブジェクトに貼り付けてください。

 

またCollisionを使ってるので、Rigidbodyをプレイヤー

か衝突用オブジェクトにつけてゲームを実行し、

プレイヤーをオブジェクトに衝突させましょう。

 

その結果、ちゃんとゲームオーバー用に用意した

シーンに遷移すれば成功です。

 

 

どうですか、ちゃんと遷移しましたか?

 

 

まとめ

 

ということでUnityでゲームオーバーの機能を

作る方法ですが、

 

1、ゲームオーバーの画面を作る

2、スクリプトにゲームオーバーの画面に遷移する機能をかく

3、ゲームオーバー用のsceneをbuild settingで追加する。

4、プレイヤーオブジェクトとかにスクリプトを貼って試す。

 

をした後に、

プレイヤーとかに2のスクリプトを貼ればOKです。

 

そしたらゲームオーバーの条件を満たした時に、

ゲームオーバー画面に遷移するということが

できるので、ぜひやってみてください。

 

ということで読んでいただきありがとうございました。

それでは、チャーさん

-ゲーム開発ノウハウ

関連記事

Unityでジャンプする方法(空中ジャンプ防止機能付き)

どうも、チャーさんです。   あなたはUnityでジャンプ機能を作りたい と思っていますか?この記事では、パソコンの キーボードを押したら、ジャンプする機能の作り方を説明します。 &nbsp …

UnityでHPを回復させる機能を作る方法(簡単なやり方です)

どうも、チャーさんです。 この記事では、UnityでHPを回復させる方法を お話しします。   ゲームでは基本プレイヤーが回復することが多い のでプレイヤーのHPの回復方法を書きます。 &n …

no image

unityでキー入力で攻撃する方法(3分以内にできます)

どうも、チャーさんです。 あなたはunityでキー入力による攻撃を したいですか?   この記事ではunityでキー入力で攻撃を する方法を書いてますので、あなたがこれを読めば、 キー入力で …

Unityでオブジェクトを上下移動(往復)させる機能の作り方

どうも、チャーさんです。 あなたはUnityでオブジェクトを自動で上下移動させたい と思っていますか?   オブジェクトを上下に自動で往復させたり、 動く床として上下に自動で往復させたり、 …

Unityで動く床(滑らない、往復)の作り方はコチラ

どうも、チャーさんです。 あなたはUnityで動く床、それも滑り落ちず 往復するやつを作りたいと思っていますか?   この記事を読めばそれは実現します。 ですが読まないと結構つまづきます。 …

no image

unityでターン制のゲームを作るにはコレを使いましょう

どうも、チャーさんです。 あなたはunityでターン制ゲームを作りたい そう思っていませんか?   この記事ではunityでターン制のゲームを 作る方法を書いています。   なので …

最新記事

チャーさん

Unityに関する記事を書いてます。

 

[簡単な経歴]

 

2018年-プログラムを始めUnityの存在を知りハマる。

2019年-エンジニアとして仕事開始(web系)

2021年-UnityでVR開発等にも手を出し始める。

現在-エンジニアとして活動しながらUnityも続行中。

 

youtubeでは、Unityに関する動画をあげてるので、

あなたのUnityスキルアップにどうぞ。