ばかおもちゃ本店:Youtube twitter:@sashimizakana Amazon.co.jpアソシエイト

2014年1月20日月曜日

Unityが最高に楽しいのでゲーム作った「りつとび」

先に完成品

りつとび(単体ページ)

Unityについて

Unityはゲーム開発のためのエンジンを統合した開発環境です。
簡単に言うとゲームを作るための全部入りツール。

Unityのここがすごい

プログラミングをぜんぜんやらなくてもマウスぽちぽちしてるだけである程度のものが簡単に出来る。
たとえば冒頭のりつとびはソースコードだけで言えば全部で100行もないし、制作時間は何か作ろうと決めてから5,6時間程度。
Unityのつかい方が多少わかったので、もう一回似たものを作るなら1,2時間あれば出来る。
更に出力先は多少設定を変えるだけで、Web PlayerでもPCでもAndroidでもイケる。
そして一番重要なのが基本タダだということ。
年間1000万円以上稼いでいたり、より高度な機能を利用する以外はタダで利用できる。
Unityで1000万円以上稼いでPro買いたい!

りつとびについて

ともかく何かを作るのが習得する近道だろうと思ったので作った。
利用したモデルは鼻8Pさんのへちょますのモデル。
このMMDのモデルをMMD for Unityを利用して取り込んだ。
また爆発のパーティクルはWarFXという$20のものをアセットストアで購入した。
爆発のサウンドは同じくアセットストアから、無料だった8bit-Soundsというのを利用している。
プログラムは以下のような感じ。

律ちゃん

スペースキーとかマウスクリックとかでaddForceしてジャンプする。コケないように回転とか縦以外の移動について制約がつけてある。それだけ。

回転するバーの柱部分。rotateでぐるぐる回る。
常に角度を取得していて、直前より減った(=360を越えた)場合一周したというメッセージをコントローラーに投げる。5回ごとに回転速度をランダムに変更する。

バー

回転するバー。
ぶつかると爆発のパーティクルを追加してぶつかった相手(律ちゃん)の足元あたりにAddExplosionForceして爆発を起こす。
上述のとおり律ちゃんには制約がついているので外してから吹き飛ばす。
んで、ヒットしたというメッセージをコントローラーに投げる。

コントローラー

各種メッセージを受け取って、スコアを増やしたりゲームオーバーにしたりする。

まだどういう風に分割すべきか、どのような方法で処理を伝えるべきかはあまりよく分かっていない。
SendMessageは高コストという話もあるし、そもそも誰が情報を必要とするかを送信者が知っている必要があるため、あまり便利に使えない。
それなら自分で購読者とメッセージ名を記録して通知があったら、呼び出せばいいやと思ったら、既に例があった。
http://wiki.unity3d.com/index.php?title=NotificationCenter
これを適当に直して使えばいいと思う。

まとめ

よい。
Unityは大変よい。
すごい面白いおもちゃを見つけたと思った。
あとりつとびは5周ごとの難易度が高すぎてクソだと思った。

次回予告

2Dゲームつくるよ!
(もともとそのつもりで始めた)
あと時間があったらりつとびの制作動画みたいなのもつくるよ!
艦くりもとりあえずちょっとだけアップデートするよ!(まだあまりできてないよ!)

参考

【Unity】素人が7日間クソゲーを作り続けてわかったこと – uinyan. com

Unity4入門   最新開発環境による簡単3Dゲーム製作
浅野 祐一 荒川 巧也 森 信虎
ソフトバンククリエイティブ
売り上げランキング: 3,046

公式のチュートリアルやってから読んだ。簡単なので初学者にはいい感じだと思う。