Unity初心者が無謀にもShooting Game作りに挑戦する[酷い]

前回の記事ではUnity 4.6 Tutorialを行いましたが、今回はタイトル通りシューティングゲームを作ります。※Unity2日目の超初心者が書いた記事です。テラシュールウェアブログをいろいろ参考に適当に作ったときの記録です。

 

 

 

簡単なタイトル作り

タイトルとスタートボタンだけの画面ですが、Buttonが押されたときの処理ってどう書くの?別シーンに飛ぶにはどうすれば?を調べて実装します。

UI Buttonが押されたときの処理を書くには。
UI BUTTON (Unity公式の動画ページ)

あるSceneから別のSceneへ推移するには。
Unity 別のSceneを呼び出す Application.LoadLevel

 

自機やマップなどをAssets Storeから探す

とりあえずモデルデータ等はまったく作れないので、フリーで使えそうなありがたいAssetsをプロジェクトに取り込みます。

地面用Assets:Simple Modular Street Kit

自機用Assets:PA SciFi Enemies and Vehicles

 

マップを作成する

Simple Modular Street Kitを使ってそれっぽいマップを作成します。今回は重要ではないので適当に配置して作成しました。ただマップがかっこいいとモチベーションが違うよね。下のマップでは一部ポリゴンが重なっていて、表示がちらつく部分がありますが見なかったことにします。

004

 

自機とマップの当たり判定

前回のチュートリアルではあまり出てこなかったので初心者特有の「地面すり抜けちゃう」現象に少しはまる。

UnityのRigidbodyとColliderで衝突判定

 

自機の移動、カメラ処理

前回のTutorialのコードをAnimetor部分以外をコピペしてきました。とりあえず自機が移動できることを確認。自機の移動に伴い、カメラも追従してくることを確認。

 

弾を準備

Sphereを作ってPrefabに登録。テクスチャーは適当にAssets Storeから使用。多分これを使用。Tileable Sci-Fi Texture Pack-1

 

弾を撃つ処理

自動で撃ちっぱなしにすることにしたので、弾の生成と一定間隔での実行処理を調べました。

【Unity】スクリプトからPrefabのインスタンスを作る方法

Unityのコルーチンの使い方をまとめてみた

 

敵を準備

適当なモデルをあてがいPrefab化しておく。

 

敵が死ぬ処理

弾と敵が当たった時を検出する。イベントで処理。

UnityのRigidbodyとColliderで衝突判定

 

敵が自機に向かってくる処理

TurorialでもNavmeshを使用しました。ここでも使用することにします。

UnityでMMDモデルを、タップした位置まで歩かせる手軽な方法

[Unity]ナビメッシュでの経路探索の使い方と注意点

 

自機と敵とのヒット処理

敵と弾との当たり判定処理と同じことだが、コンポーネントにアクセスする方法がわからず調べた。

【Unity】特定のゲームオブジェクトやコンポーネント、スクリプトにアクセスする

 

とりあえず出力結果

十字キーで移動、自機はマウスの方向を向くようになっています。ゲームオーバーは無し。何も面白くはないよ。BGMはBump Footを使用。

実行ページ(音が出ます)

Buildして思ったのですが、使用していないAssetsも実行ファイル群の中に含まれるんだろうか。容量が多いんだよねぇ・・・。

 

感想

今回はほぼ0から、前回行ったTutorialと同じことを自分で行ってみるのが目的でしたが思った以上につまずきますね。ここまでたどり着くのに約16時間程度。ただ普通に考えて初心者が16時間程度でここまで作れるのが驚異的ですよね。Unityってすごいです。

次回は何やろうかな。


希木小鳥

Diablo1でハクスラの世界に。今はBorderlands2をプレイ中。ぬるゲーマー。

あわせて読みたい