Unity を使ってジャンプするゲームを作ってみる

Moai SDK は好きだけど情報量が少なくてつらいので、Unity を使ってみることにしました。 まずは、簡単にキャラクタがジャンプしてブロックを登っていくようなゲームにします。

jump_app_720

イメージはこんな感じです。
で、詳しい作り方はそれっぽいサイトに任せることにして、作成途中のスクリーンショットと感想だけ書いていこうと思います。

TapJump_map

ここまでで Prefab 化したブロックを生成するようにした。 最初は手動でブロックを配置しようとしたものの面倒なので C# から生成するようにした。 マップエディタを使っては? という案もあったが学習コストがマップ規模に対して高い気がしたので見送った。
マップの背景とブロックの素材は「ぴぽや」というサイトのものを利用しています。

TapJump_platform

プロ生ちゃんのサイトからキャラクター素材を持ってきて利用した。
http://pronama.azurewebsites.net/pronama/download/

ここまでに Platform Effector 2D とキャラクターのアニメーションまわりとかを設定した。
Platform Effector 2D をブロックごとに適用するとキャラクターがブロックの継ぎ目で立ち止まったりすることが確認できた。 つらい。
なので、Platform Effector 2D は高さが同じブロックに一括で適用されるようにした。

TapJump_goal

画面にラベルを配置したりして、ゴールに触れたらゴールのアニメーションをするようにした。 ゴール直前でジャンプすると、落下しながらピースしたりと諸々の問題はあるけど気にしないことにした。 Web GL 版が、下記ページから遊べます。
http://hyakuren-soft.sakura.ne.jp/TapJump/

Web GL 版で表示を最大化すると画面枠が適切に表示されないのは…、仕様です!
(今、記事を書いてて試してて新たな実装間違いに気づいたけど、気にしないことにします。

この記事で作ったソースコードは、下記プロジェクト中の TapJump 以下にあります。
https://bitbucket.org/satofumi/unity_learning