2014年10月25日

ゲームのアップグレード (2) | ジャイロの為にゲーム内の座標をちゃんしよう!

もう、本当にいい加減なタイトルですよねw
さて、ジャイロの対応は終わったんですが、肝心のゲーム本体がまだ対応の準備できてないんですよね。

具体的には、隕石とかミサイルとか、当初そんな複雑な事をする予定じゃなかったんで、完全に平面で処理してるんですよね。
せっかくなんで、カメラの位置を変えずに、見ている先を動かして回転させる様にしようと思うんですが、それに伴って隕石、ミサイル、そしてタッチを判定してるコリジョンも変えないと駄目ですね。

なんで、その辺り、やっていきますね。


隕石の発生位置を円周上にしよう
さて、ではジャイロに対応して、カメラが自分の位置を基準に平行回転するつもりで、隕石の発生をカメラを取り囲む円周上になる様にしていきましょう!

中学生の算数くらいですよね。私が分かるのはそのくらいですが、それ以上になったら、ネットの偉い人達がやってくれるはず!!

で、コードはこんな感じですね。まだまだテスト用のコードですが。
Screen Shot 2014-10-22 at 3.36.12 PM.png
51〜54行目が発生座標のコードですね。angle に応じた円周上の位置を計算します。
Unity の Mathf はラジアン角を使うんで、angle のオイラー角をラジアンに変えて、サインコサイン使ってるだけですね。
GameManager.OBJECT_DISTANCE 自分で決めた定数で、カメラからの距離。つまり半径ですよね。
ここまでが、カメラからの相対位置になってて、最後の53行目で、カメラの位置を足してゲーム全体の座標になってるはず。

angle 自体もその後変えてますが、これはあくまでテスト用。本番では、ゲームっぽくなる様に angle の発生もかんがえなきゃですね。

さて、動かしてみると...
テストなんで、発生間隔短くしてますが、隕石の位置は大丈夫ですね。
ゲームに行くと、当然ミサイルの場所はまだズレたままなんで、ゲームになりませんがww


タッチ位置を判定してるコリジョンを変更
じゃ、今度はタッチ位置の判定に使ってる、Boxコライダを、中空シリンダーのコライダに変えましょうね♪。
さて.....おやっ?中空シリンダーなんて、無い?のか...?
ほ〜。ないんですね。ちょっと困りましたね。
基本的なメッシュなんで、あると思い込んでたんですが。
じゃ、アセットストアで探して.....プリミティブがいっぱい入ったのに含まれてるみたいだけど、$5 かぁ〜。
んじゃ、頑張って作るか!!

で、できたモデルがコレ。
私の環境では動いたんですが、保証はできません。
また、ご使用のコンピュータで問題が発生しても、責任は追いかねます。
あくまでご自分のご責任でダウンロードとインポートを行ってください。
たぶん大丈夫だけど、一応、宣言しときますね。

Blender というフリーソフトを使ってるんですが、なんかハイスペックですね。これまで使った事のある物ともUnityの感じとも違って、かなり取っ付きにくかったんですが、なんとか中空シリンダーだけは出来ました!
最近はなんでもビデオチュートリアルがあって便利ですね!

さて、このブレンダーのいい所は、そのまま *.blend ファイルが Unity で読めてしまうんですねぇ〜。
なんで、ファイルをそのまま Unity の Project ビューにドラックしてドロップすると...
Screen Shot 2014-10-22 at 6.42.50 PM.png
*.blend をドロップしてインポート!
そのまま Mesh で選択出来る様になるんですね〜。
Screen Shot 2014-10-22 at 6.44.17 PM.png
この HollowCylinder が Blenderで作って追加したメッシュ
で、位置と向きとスケールを調整して、さっきの隕石が発生する円周上にコライダを置く事が出来ましたーー!
Screen Shot 2014-10-22 at 6.46.09 PM.png
ちなみに動画にするとこんな感じ。
コライダとの衝突位置を基に表示してるレーザーサイトは、ちゃんとマウスの位置を追いかける様になりました!

※※ 追記 ※※
簡単にインポートは出来たんですが、なんか、Unity に持って来た時の軸の向きが上手く修正出来ないんですよね。ブレンダー側で変更してセーブしてみたりしたんですが。調べれば直るのかもしれないけど、Unity 側で調整出来る部分なんで、深追いせず、Unity で置いた時に90°回して調整してます。


ミサイルの発射位置の修正
さあ、なおすぞーー!

と思って MissileManager クラスを見たんですが....あれ?
Screen Shot 2014-10-22 at 7.06.39 PM.png
z軸に0が入ってますね。っていうか、私が入れてますね...
じゃ、これだけ?
Screen Shot 2014-10-22 at 7.06.55 PM.png
じゃ、実行してみると....

全然大丈夫ですね!!

        にほんブログ村 ゲームブログ×PlayNCBlogへ
 初めてみました。よかったらクリックお願いね ♪


あっ、これじゃない

こっちこっち。
posted by やまけん at 11:19| Comment(0) | Unity | このブログの読者になる | 更新情報をチェックする
この記事へのコメント
コメントを書く
お名前:

メールアドレス:

ホームページアドレス:

コメント: