![](https://katosanlaboratory.jp/wp-content/uploads/2021/11/unity1hour2drungamebasics6Top.jpg)
ども!カトサンラボのかとこうです。
この記事では、
Unity初心者の方や入門者の方向けの
ゲーム制作情報として
「Unityで2Dのランゲームの基礎を約1時間で制作する講座」
第6回目の内容を解説しております。
前回の記事はこちら → 【Unity 2Dランゲームの基礎制作5】障害物の配置と当たり判定の作成
6回目の内容では、
「ゴールの当たり判定を作ってクリアログを表示する」
という作業を行っていきます。
動画での解説もしていますので、
この記事と合わせて参考に
していただけたら幸いです。
動画解説はこちらです。
2Dランゲーム基礎講座:第6回目の目標について
6回目の内容では、
「ゴールの当たり判定とクリア処理の作成」
などの作業を行っていきます。
行う作業の目標を以下に
まとめてみました。
今回の目標
・ゴールのひよこちゃんに当たり判定(コライダー)をつける
・ゴール用のC#スクリプトを作る
・C#スクリプトにゴールをした時のコードを書く
・ヒエラルキーのChickにC#スクリプトを付ける
・ゴールを飛び越えられないようにする
・テストプレイをしてログが表示されるか確認する
今回の作業目標は全部で6つです。
ゴールが出来上がればランゲームの
基礎部分の作成が完了となります。
次の項目から1つ1つの作業に
ついて細かく説明をしていくので、
何か参考になれば幸いです。
ゴールに当たり判定(コライダー)をつける
最初に行うのは、
「ゴールのひよこちゃんに当たり判定(コライダー)をつける」
という作業になります。
まずはヒエラルキーの
「Chick」をクリックします。
![](https://katosanlaboratory.jp/wp-content/uploads/2021/11/unity1hour2drungamebasics6image0.jpg)
次にインスペクターウインドウに
ある「Add Component」を
クリックします。
![](https://katosanlaboratory.jp/wp-content/uploads/2021/11/unity1hour2drungamebasics6image1.jpg)
そうすると検索窓などの表示が
されるので、その検索窓に
「b」と入力しましょう。
すると候補が表示されます。
その中から「Box Collider 2D」を
選んでクリックします。
![](https://katosanlaboratory.jp/wp-content/uploads/2021/11/unity1hour2drungamebasics6image2.jpg)
するとChickのインスペクターに
Box Collider 2Dが表示されます。
![](https://katosanlaboratory.jp/wp-content/uploads/2021/11/unity1hour2drungamebasics6image3.jpg)
これでゴールに当たり判定をつける
作業は完了となります。
ゴール用のC#スクリプトを作る
次に行うのは、
「ゴール用のC#スクリプトを作る」
という作業になります。
C#スクリプトを作るときは、
プロジェクトウインドウの
「+ボタン」をクリックします。
![](https://katosanlaboratory.jp/wp-content/uploads/2021/11/unity1hour2drungamebasics6image4.jpg)
表示されるメニューから
「C# Script」を選んで
クリックしましょう。
![](https://katosanlaboratory.jp/wp-content/uploads/2021/11/unity1hour2drungamebasics6image5.jpg)
そうすると新しいC#スクリプトが
プロジェクトウインドウに
作成されます。
![](https://katosanlaboratory.jp/wp-content/uploads/2021/11/unity1hour2drungamebasics6image6.jpg)
作成された新しいC#スクリプトに
名前を付けて保存をしましょう。
今回は「Goal」という名前を付けました。
![](https://katosanlaboratory.jp/wp-content/uploads/2021/11/unity1hour2drungamebasics6image7.jpg)
これでゴール用のC#スクリプトを
作成する作業は完了です。
C#スクリプトにゴールをした時のコードを書く
次に行うのは、
「C#スクリプトにゴールをした時のコードを書く」
という作業になります。
作成したC#スクリプトの
「Goal」をダブルクリックして
開きましょう。
Visual Studioなどの
コードエディタが開いて
表示されると思います。
![](https://katosanlaboratory.jp/wp-content/uploads/2021/11/unity1hour2drungamebasics6image8.jpg)
そこに以下のコードを書いていきます。
障害物のコードと内容がほとんど
一緒なのでStoneからコードを
コピペして修正して書き直しました。
以下の内容をコピペでもOKです。
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class Goal : MonoBehaviour
{
public void OnCollisionEnter2D(Collision2D collision)
{
if (collision.gameObject.tag == "Player")
{
Debug.Log("ひよこちゃんを助けたよ!ゲームクリアー!");
}
}
}
ゴールに当たった時の処理を行う
コードを書き終えたら、
この項目の作業は完了となります。
ヒエラルキーのChickにC#スクリプトを付ける
次に行うのは、
「ヒエラルキーのChickにC#スクリプトを付ける」
という作業になります。
まずヒエラルキーの
Chickをクリックします。
![](https://katosanlaboratory.jp/wp-content/uploads/2021/11/unity1hour2drungamebasics6image9.jpg)
そうしたらプロジェクトウインドウに
ある「Goal」スクリプトを
インスペクターへドラッグ&ドロップ
してChickに付けましょう。
Goalをクリックしたまま動かして
いって、インスペクターの
Add Componentのあたりで
クリックを離します。
![](https://katosanlaboratory.jp/wp-content/uploads/2021/11/unity1hour2drungamebasics6image10.jpg)
そうするとインスペクターに
付けることができて、
表示がされると思います。
![](https://katosanlaboratory.jp/wp-content/uploads/2021/11/unity1hour2drungamebasics6image11.jpg)
これでChickにゴール用の
C#スクリプトを付けるという
作業は完了です。
ゴールを飛び越えられないようにする
次に行うのは、
「ゴールを飛び越えられないように見えない壁を作る」
という作業になります。
今の状態だとゴールのひよこちゃんを
ジャンプで飛び越えられてしまうので
それを防止するために見えない壁を
作っていきます。
まずヒエラルキーの
「+ボタン」をクリックします。
![](https://katosanlaboratory.jp/wp-content/uploads/2021/11/unity1hour2drungamebasics6image12.jpg)
表示されるメニューから
「Create Empty」を選んで
クリックします。
![](https://katosanlaboratory.jp/wp-content/uploads/2021/11/unity1hour2drungamebasics6image13.jpg)
名前を「GoalStop」として、
保存をしました。
![](https://katosanlaboratory.jp/wp-content/uploads/2021/11/unity1hour2drungamebasics6image14.jpg)
「Create Empty」は空のオブジェクトで
位置等を示すTransform以外の
機能が付いていないオブジェクトです。
この「Create Empty」に
Box Collider 2Dをつけることで、
見えない壁を作成していきます。
まず、位置をわかりやすくするために
GoalStopのインスペクターから
TransformのPositionの
X・Y・Zの数値を0にしましょう。
![](https://katosanlaboratory.jp/wp-content/uploads/2021/11/unity1hour2drungamebasics6image15.jpg)
そして次に、GoalStopのインスペクター
からAdd Componentをクリックします。
![](https://katosanlaboratory.jp/wp-content/uploads/2021/11/unity1hour2drungamebasics6image16.jpg)
表示された検索窓に「b」と入力して
表示される候補の中から、
「Box Collider 2D」を選んで
クリックします。
![](https://katosanlaboratory.jp/wp-content/uploads/2021/11/unity1hour2drungamebasics6image17.jpg)
そうすることで「Goal Stop」の
インスぺクターに、
「Box Collider 2D」
が表示されて当たり判定が付きます。
![](https://katosanlaboratory.jp/wp-content/uploads/2021/11/unity1hour2drungamebasics6image18.jpg)
当たり判定がついたら、
次はGoalStopの位置を
調整していきましょう。
Unityのツールバーから
「Move Tool」を選んで
矢印を表示させます。
![](https://katosanlaboratory.jp/wp-content/uploads/2021/11/unity1hour2drungamebasics6image20.jpg)
表示された矢印をドラッグ&ドロップして
動かしていき、ゴールのひよこちゃんの
上の方へ配置させましょう。
![](https://katosanlaboratory.jp/wp-content/uploads/2021/11/unity1hour2drungamebasics6image21.jpg)
ひよこちゃんの上にGoalStopを
移動させたら、次は大きさを
調整します。
今の状態は四角形になっていますが、
![](https://katosanlaboratory.jp/wp-content/uploads/2021/11/unity1hour2drungamebasics6image22.jpg)
TransformのScaleのYの数値を
変更して縦長にします。
![](https://katosanlaboratory.jp/wp-content/uploads/2021/11/unity1hour2drungamebasics6image23.jpg)
その後、位置を再度調整しましょう。
今回はYの数値を10に変更して、
ひよこちゃんの上に配置しました。
![](https://katosanlaboratory.jp/wp-content/uploads/2021/11/unity1hour2drungamebasics6image24.jpg)
大きさと位置を調整し終わったら、
摩擦力を無くすためにマテリアルの
設定を行います。
まず、GoalStopをクリックします。
![](https://katosanlaboratory.jp/wp-content/uploads/2021/11/unity1hour2drungamebasics6image25.jpg)
プロジェクトウインドウにある
「Stone Physics Material 2D」
を選んでクリックしたまま移動させて、
![](https://katosanlaboratory.jp/wp-content/uploads/2021/11/unity1hour2drungamebasics6image26.jpg)
GoalStopのインスペクターにある
Box Collider 2DのMaterialという
場所へ持っていきクリックを離します。
![](https://katosanlaboratory.jp/wp-content/uploads/2021/11/unity1hour2drungamebasics6image27.jpg)
すると、Materialに
「Stone Physics Material 2D」
が設定されて、摩擦力がなくなります。
![](https://katosanlaboratory.jp/wp-content/uploads/2021/11/unity1hour2drungamebasics6image28.jpg)
これで、ゴールを飛び越えられないように
する見えない壁の設置は完了です。
テストプレイをしてゴールのログが表示されるか確認する
最後はテストプレイをして確認作業を行っていきます。
行いたい確認は、
・ゴールに当たった時にログが表示されるのか
・見えない壁の位置は大丈夫か
などについてです。
まずは、見えない壁の位置の確認から行っていきましょう。
見えない壁の位置が良くないとゴールに辿り着けなかったりするので、
・まっすぐ走っていってゴールに当たれるのか
・ジャンプした時にゴールの手前に落ちるのか
などを確認していくといいと思います。
実際、僕が行った作業でも見えない壁に
プレイヤーの頭が引っかかって
しまいました。
![](https://katosanlaboratory.jp/wp-content/uploads/2021/11/unity1hour2drungamebasics6image29.jpg)
というわけで、まずは見えない壁の
位置を確認して、調整していきましょう。
最終的にTaransformのPositionを
X:57.28、Y:6.31という数値に
設定しました。
![](https://katosanlaboratory.jp/wp-content/uploads/2021/11/unity1hour2drungamebasics6image30.jpg)
そして次にゴールに当たった時にログが
出るか確認をしていきましょう。
ゴールの当たった時に設定したログが
表示されればOKです。
画像では石のログも確認しています。
![](https://katosanlaboratory.jp/wp-content/uploads/2021/11/unity1hour2drungamebasics6image31.jpg)
テストプレイでの確認作業と修正等が
終わったら、今回の作業は完了です。
これで簡単な2Dランゲームの基礎部分が完成しました。
細かい作業が多かったかもしれませんが、お疲れ様でした!
Unity2Dランゲームの基礎制作講座・第6回目のまとめ
今回の記事では、
「Unityで2Dのランゲームの基礎を約1時間で制作する講座」
の第6回目の作業内容について
解説をさせて頂きました。
最終回となる6回目の作業目標は
以下の内容でした。
今回の目標
・ゴールのひよこちゃんに当たり判定(コライダー)をつける
・ゴール用のC#スクリプトを作る
・C#スクリプトにゴールをした時のコードを書く
・ヒエラルキーのChickにC#スクリプトを付ける
・ゴールを飛び越えられないようにする
・テストプレイをしてログが表示されるか確認する
ゴールについての作業を6つの項目に
分けて解説させて頂きました。
今回は基礎編ということでゴールの処理を
簡単にログを出すことだけで完了と
しましたが、
今後応用編としてクリアシーンを作って
そのシーンへ移動したりという
やり方などを解説していきたいと
思っております。
全6回で解説してきた
「Unityで2Dのランゲームの基礎を約1時間で制作する講座」
は今回の記事で終了となります。
今後は2Dランゲームをよりゲームっぽく
していく応用篇の記事を書いていく予定です。
また、別のゲーム制作講座なども
できたら良いなと考えているので、
またカトサンラボへお越し頂ければ
嬉しく思います。
今回の記事や動画の内容で1つでも
お役に立つ部分があれば幸いです!
ここまで読んでいただきありがとうございました!
2Dランゲーム基礎講座の記事一覧