Unity不定期便

Unityエンジンを使って、いろいろ勉強したことをメモ代わりにまとめてます。

Unity4.3の2D機能を使い、2時間程でミニゲームを作ったので手順公開!(前編)

f:id:masatolan:20131214181715j:plain

前から使ってみたかったUnity新搭載の「2D機能」…。

3Dもままならないのに、早くも2Dに手を出して良いものか悩んだが、最終的に2Dへの「好奇心」が勝ってしまったわけです。

と、いうことで、2D機能を初めて使ってみた際に、いろいろ勉強になった点などをメモ代わりにまとめておきます。

 

2Dプロジェクトを作る!

まずは、2D機能を使ったプロジェクトを作成するところから始めます。

メニューから「New Project」を選択して、いつも通り「新規プロジェクト」作成するのですが、下段の選択リストで「2D」を選ぶのを忘れないようにしましょう。

f:id:masatolan:20131214211900j:plain

 

ただ、誤って3Dのままで新規プロジェクトを作成してしまったり、すでに作成しているプロジェクトから2Dにしたいケースなどもあるでしょう。

そんな時は、メニューの「Edit」から、「Project Settings」→「Editor」で、Modeを「2D」にして、シーンの表示も「2D」にすれば大丈夫です。

f:id:masatolan:20131214211915j:plain

これで、2D機能を使ったプロジェクトの作成準備が整いました。

 

AssetStoreへGO!

次に、いつもながら…お世話になっている「Asset Store」で、以下のアセットをゲットします!

Unity Projects 02

f:id:masatolan:20131214183407j:plain

2013年12月現在、フリーのランキングでもトップになっている…このアセット。

簡単に言うと、Unityが用意してくれた「2D入門セット」みたいなもんです。これがあると、とりあえず2D機能がどんなものか手っ取り早く理解できる素材がたくさん入手できます。

 

ステージを作ってみる!

 で、早速ミニゲームを作ってみます。

とりあえず、ゲームの舞台となるステージを作りたいので、先ほどAsset Storeからゲットしたファイルの中から「Sprites」→「Environment」を開きます。

f:id:masatolan:20131214211935j:plain

 ステージになりそうな素材が入っているので、好きなものをチョイスします。

 

そのままドラッグ&ドロップで、ヒエラルキーに放り込みましょう。

f:id:masatolan:20131214211941j:plain

 

放り込んだ画像の「重なり順序」に関しては、新たに追加された「Sprite Renderer」で設定します。

f:id:masatolan:20131215114111j:plain

 

この使い方にちょっと悩んだのですが、多分イメージ的にはこんな感じかと。

f:id:masatolan:20131215114156j:plain

「Sorting Layer」で、画像のグループを作ってまとめるイメージ。

例えば、「背景画像のグループ」や「キャラクター画像のグループ」…みたいな。

そのグループの中に複数の画像を設定して、重なり順を「Order in Layer」の番号で調整するのが基本形のような気がしました。

(数値の大きい方が手前に表示される)

 

グループは、「Add Sorting Layer...」から編集できます。

f:id:masatolan:20131215120556j:plain

 

冒頭のAsset Storeでゲットしたプロジェクトだと、すでにいくつかのグループ分けがされています。

f:id:masatolan:20131215120603j:plain

今回のミニゲーム作成にあたり、背景は「Background」のグループに設定してます。

ちなみに、このグループの番号が小さい方が奥側に表示されて、番号が大きくなるにつれて、手前に表示されるようになっています。

 

 キャラクターを投入して動かしてみる!

次に、プレイヤーとなるキャラクターを投入します。

これも、Asset Storeからゲットしたファイルの「Prefabs」→「Charactors」にある素材を使います。

f:id:masatolan:20131214232645j:plain

※多分、下段に赤字でエラーが出るかと思いますが、この入門セット用のゲームを構成する素材をヒエラルキーに入れてないために発生している事なので、現状は気にしなくてもOKです。

 

あと…このままだと、キャラクターのサイズが小さいので、TransformのScaleを「2」に設定しました。

f:id:masatolan:20131214232657j:plain

ちなみに、このキャラクターの各パーツは、「Character」というグループのレイヤーに設定されているので、背景よりも手前に表示されるわけですね。 

 

続いて、カメラの位置も調整します。

f:id:masatolan:20131214232705j:plain

とりあえず、「Projection」の部分を「Orthographics」にしてSizeを調整した方が簡単でした。

で…、

このまま実行をすると、キャラクターは上から下へ「スポーン」と落ちていくだけになってます。

 

なので、背景の道路にあたる部分に当たり判定をつけて、キャラクターが地面を歩けるようにします。

そこで、先ほどヒエラルキーに放り込んだ道路の素材を選択して、インスペクタから「Box Collider 2D」を追加します。

f:id:masatolan:20131214232714j:plain

 

あとは、当たり判定(緑の範囲)のサイズと位置を調整して、ちょうど道路の部分にくるように合わせます。

f:id:masatolan:20131214232723j:plain

 

これで実行してみると、キーボードの矢印キーでしっかりと地面を歩いてくれます!

f:id:masatolan:20131214234005j:plain

ちなみに、マウスをクリックするとミサイルも飛ばしてくれます。

 

これだけで、すでに何かアクションゲームっぽくなっていますが、あとは敵を出現させたり、スコアを表示したりしてみます。

 

ちょっと、長くなってしまったので、続きは「後半」へ…ということで。

 

Unityのミニゲーム作りが載っているベスト書籍
Unity4入門   最新開発環境による簡単3Dゲーム製作

Unity4入門 最新開発環境による簡単3Dゲーム製作

 

 

Unityで作るスマートフォン3Dゲーム開発講座 Unity4対応 (SMART GAME DEVELOPER)

Unityで作るスマートフォン3Dゲーム開発講座 Unity4対応 (SMART GAME DEVELOPER)

 

 

Unity入門 ~高機能ゲームエンジンによるマルチプラットフォーム開発~