2011-08-22

[]Unityで一週間で全方位シューティングを作ってみた(3) 【一日目】 Unityで一週間で全方位シューティングを作ってみた(3) 【一日目】 - Nao_uの日記 を含むブックマーク はてなブックマーク - Unityで一週間で全方位シューティングを作ってみた(3) 【一日目】 - Nao_uの日記 Unityで一週間で全方位シューティングを作ってみた(3) 【一日目】 - Nao_uの日記 のブックマークコメント

f:id:Nao_u:20110821230219p:image

一週間でつくった全方位シューティングの製作日記。一日目。

まずは簡単に、地面にボックスを置いてサイズを調整して床にして、その上でプレイヤーに見立てた球体を置いて動かせるように。

最低限、オブジェクトが表示できてキー入力の判定さえできれば、もうそれだけでゲームは作り始められる。

敵に見立てたボールを置いて物理計算のコンポーネントを追加するだけで、当たり判定のコードなど一切書いていないのに接触すると物理計算が働いて勝手に弾き飛ばされる。これは便利。

ついでにボタンを押すとプレイヤーから弾を飛ばせるようにしてみた。

作ったオブジェクトを、「プレハブ」と呼ばれるオブジェクト生成機みたいなものにドラッグ&ドロップすることで、スクリプトからそのオブジェクトを呼び出せるようになる機能を使用。

弾が敵に当たると弾け飛ぶ。あとは接触時にダメージを与えてHPがなくなると消えるようにすれば、ゲームとしての最低限の枠組みが出来上がる。

全般に、適当にオブジェクトを配置して、そこにスクリプトを割り当てていくだけでなんとなく動いてくれるし、スクリプト言語も一般的なJavaScriptがそのまま使えるのですごくわかりやすい。

C#を使うべきかちょっと悩んだけどJavaScriptのほうが気軽に書けそうだったので、処理負荷が問題になるまではとりあえすはJavaScriptのみで進んでみることに。C#で書くと少し記述量が増えるようなので、JavaScriptの手軽さがとても魅力的に感じられる。

型をちゃんと指定するのと、負荷が高いらしいオブジェクト検索をループ内で使わないようにだけ気をつけてればC#とそう大きくは変わらない速度で動くらしいので、いまどきのCPUなら処理の重さに関してははあまり問題にはならないんじゃないかな、という気がする。