ここはUnityを使って、2Dサンプルゲーム(チュートリアル)を作成します。まずはこのサンプルゲームの概要といった感じです。
このサンプルゲームを作るための前提知識
このような状況であることが必要になります。
●前提知識
- UnityをPCにインストールしている(バージョンは2018.2.5です。他のバージョンでも多分大丈夫。多分)
- Visual Studio( 多分Unityインストールしたとき同時にインストールされてる)
- ゼロから始めるUnityを軽く理解してる
- ゼロから始めるC#を軽く理解してる
- 【Unity2Dサンプルゲーム】スケボーで移動しようを作った(または内容が8割型わかる)
1つぐらいは2Dのゲームを作成しているとすんなりゲームを作成できます。
MACでもWindowでも構いませんが、とにかくUnityはインストールしておいてください
この記事はWindowsでゲームサンプルを作っています。
このサンプルを完成させて得られるもの
- プロジェクト作成方法
- シーンの作成&保存
- 簡単なゲーム設計
- オブジェクトの名前の変更方法
- オブジェクトの位置や大きさを変える
- レイアウトの変え方
- 素材のダウンロード&格納方法
- オブジェクトが破壊されても音源を再生するやり方
- オブジェクトのアクティブ、非アクティブのやり方
- オブジェクトを複数生成
- 当たり判定のこと
- ボタンが押されたときの処理を設定する方法
- スクリプトの作成&アタッチ
本や動画よりわかりやすく説明しています。もしわからないところやわかりにくいところがあったら、さぎのみや(@saginomiya8)に気軽にいってください。
また、Gif(動くやつ)を読み込まない場合があるので「Gifがない」と思ったら、もう一度ページを読み込んでください。
爆弾を避けよ!の実行例
爆弾避けてますね。音もついておる。なぜかunityroomの方は音がつきませんでした。
ゲームで使う素材は最低限、かつ後で拡張しやすいようにシンプルにしています。簡素ですが許してね。後で自分で煮るなり焼くなり好きにしてほしいです( ・∇・)
ゲーム設計を考える
- ゲームの企画を作る
- ゲームの部品を考える
ゲームの設計を考えるときにこの2つについて考えましょう。
ゲームの企画を作る
どんなゲームにするか考えます。
爆弾が定期的に落ちてきて、それを左右の矢印ボタンをおしてプレイヤーが避けるゲームです。右矢印のボタンをおしたらプレイヤーは右に移動、左矢印のボタンを押したらプレイヤーは左に移動します。
プレイヤーに爆弾があたったら、右上のリトライボタンが登場します。またプレイヤーが破壊されたときに効果音がなります。
とりあえず大まかに説明します。
ゲームの部品を考える
●当サイトのゲームの部品に対する考え方
- 画面上のオブジェクトをすべて書き出す
- オブジェクトを制御するためのコントローラスクリプトを決める
- オブジェクトを自動生成するためのジェネレータスクリプトを決める
- UIを変更させるためのUIスクリプトを決める
- スクリプトを作る流れを考える
北村愛実さんのUnityので使われているゲームの部品の考え方を参考にして作らせていただいたものです(本当に尊敬してます)。この考えを使ってゲームの部品について考えていきます。
画面上のオブジェクトをすべて書き出す
- プレイヤー
- 爆弾
- 床
- 音
- UI:右矢印ボタン
- UI:左矢印ボタン
- UI:右上のボタン
これらが使うオブジェクトです。このような素材は後でダウンロードします。
オブジェクトを制御するためのコントローラスクリプトを決める
制御するためにはC#という言語で書かれたスクリプトが必要になります。動かしたり変化させたりオブジェクトを制御するために必要なのがコントローラスクリプトです。
今回制御する必要があるのは、
- プレイヤー
- 爆弾
プレイヤーと爆弾だけですね。プレイヤーは左右に移動させるために、爆弾は下に落とすために必要です。
オブジェクトを自動生成するためのジェネレータスクリプトを決める
なにかアクションを起こした場合に登場するアイテムや時間経過によって登場するもののことを自動生成と表現します。その自動生成が必要なオブジェクトに、ジェネレータスクリプトが必要になります。
- 爆弾
爆弾が定期的に振ってくるので、ジェネレータスクリプトが必要なのは爆弾ですね。
UIを変更させるためのUIスクリプトを決める
まずUIとはユーザーインターフェイスのことです。あまりにも広い意味で使われるので、ゲームでいうUIを説明します。ゲームでいうUIとは、画面上に表示されるスコア、アイテム選択する部分、HPやMPのゲージのことです。
よくコインの獲得数なんかが、画面の右上に表示されるゲームがありませんか。あれもUIです。
そのUIを変更する(時間がたつごとに表示される時間が変わるなど)必要があるUIにはUIスクリプトが必要になります。
- UI:右上のボタン
にはUIスクリプトが必要になります。そのボタンを押したら、リトライされます。
あんまり今回活躍しません。もしわからなければ、そのままで構いません。他のサンプルゲームでがっつり説明します。
スクリプトを作る流れを考える
①コントローラスクリプト
PlayerController:プレイヤーを制御
BakudanController:爆弾を制御
②ジェネレータスクリプト
BakudanGenerator:爆弾製造
③UIスクリプト
GameUi:右上のボタン
この順番ですすめていきます。まだよくわからなくても大丈夫です。制御したいオブジェクトにはコントローラスクリプトが必要なんだなぐらいでOK。あとは数をこなしていくにわかりますし、自分なりの型が生まれます。
おわりに
ゲームの概要を説明しました。次でプロジェクトを作成、シーンの保存、素材のダウンロード、素材の格納を行っていきます。
では次の爆弾を避けよ!~2~にいきましょう。
コメント