読者です 読者をやめる 読者になる 読者になる

夏までにiPhone アプリつくってみっか!

趣味でiPhone/Androidアプリを開発し、日々勉強した事を書いています。オープンワールド系レースゲームをUnityで開発中です。

【偽スペースハリアー】3D座標を簡単に見つけるためのツールを作成

cocos2d スペースハリアー TravelShooting JP

前回、
【偽スペースハリアー】ベジェ曲線で滑らかに敵を動かしてみた - 夏までにiPhone アプリつくってみっか!
ではベジェ曲線に沿って敵キャラクターを動かしてみました。ベジェ曲線はいくつかの3D座標からなる直線データを元に生成しているのですが、実はこの3D座標のデータを作成するのがものすごく大変でした。

画面奥に行くほど空間が広がっていて、しかも動きに迫力を出すために空間のz座標を歪ませているのでどういうx, y, z座標を与えると画面上のどの位置にどのくらいの大きさで表示されるのか全く想像がつかず、とにかく試行錯誤で見つけるしか無い状況でした。

また、キャラクターを手前や奥に向かってまっすぐ動かすのはほぼ不可能でした。
見た目は単純な動きなのですが、x, y, z全ての座標を正確に動かさないと上下左右に位置がぶれてしまいます。

結果、一つのモーションデータの作成に1〜2時間も掛かっていました。
これではゲームのクオリティやスケジュールが危うくなってしまいます。
というわけで、今回簡単な3D座標特定ツールを作成し、モーションデータ作成の効率化を図ります。

このツールの動画です。偽スペースハリアーのプログラムを流用していますので画面はほぼそのままです。

画面上のスライダーでスケールを調整し、キャラクターをドラッグして動かすと画面上に座標が表示されるのでそれをスプレッドシートに書き写して使います。

本当はこのツールで直接.plistファイルを作成したりベジェ曲線を表示したりできれば完璧なのですが、とりあえず今は座標が表示できるだけで大満足です。