2015年03月29日

画面エフェクト | 残像を作ってみよう part 2

リリースできました!!
iOS デバイスの人は、上のアイコンからダウンロードしてみてね!!
基本無料。ゲーム内課金有り(無料で十分遊べます)


前回からの続きですが、今回は Mesh クラスから頂点のデータをいじって残像を改良したいと思いますね。


まずは基本になるモデルを作成
基本になる Mesh 自体は結構単純なんで、頂点もUVも、完全に動的生成も出来そうな気もするんですが、一応基本になる Mesh データを作って、そこから変更して行く事にしますね。

という訳で、Mesh をこんな感じで作ってみました。
Screen Shot 2015-03-26 at 2.15.56 PM.png

大変お世話になってる Blender 様です

で、このデータを Unity に持って来て、単純なテストスクリプトを書いてみたんですが.....

結構、拍子抜けする程簡単に動きましたね!
一カ所頂点インデックスで気に入らない並びがありますが、まぁ変にいじるのは辞めて、並べたい順番との変換テーブルを作って対処したいと思います。


棒の動きに合わせて頂点を計算
さぁ、頂点の計算なんですが、前回それなりに計算したし、2次元だし、まぁ大丈夫でしょ!
って思ってたんですが、結構難航しました....

やっぱり計算苦手だなぁ〜。

でもなんとか形になりました!!
正当な計算プラス、見た目を良くする為の調整も入ってますが、スクリプトはこんな感じになりました。
Screen Shot 2015-03-27 at 6.19.55 PM.png
持って来てる引数は、_cv が今の棒の位置。_pv が前フレームの棒の位置。_c が前回求めた、交点の位置。_crz が今の棒の向き。で、_bar_length が棒の長さ。

で、Mesh を持つ GameObject に、棒の位置情報を最後にコピーしておしまい!
これを実行してみると...こんな感じですね。

さっきのスクリプトは、新旧の2直線の交点がいい感じの時に使って、棒が直線的に動いたり、交点が2直線のそれぞれの中心に近い時は、直線的なリニア補間を使ってやってます。

さっきの動画は、デバッグ用に棒をプログラムで動かしてたんですが、マウスで操作した時はこんな感じ。
ま、まだ出来る事もあるけど、今の所はコレぐらいで、のちのちもっと改良しましょうかね。


ひとまず完成後の追記
今回はマウスの動きに従って動く部分で、機能確認とかデバッグとか、最初結構大変だったんですよね。
なんで、途中からマウス入力をエミュレートするスクリプトとか、ゲーム中の計算座標を確認する為のデバッグ表示とか作ったんですが、これで格段に効率が上がりましたね。バグの再現性も高いし、問題も発見し易くなって。
ま、当然の事なんですが、最初からこの辺の機能つくっとくべきでしたね。

じゃあ、またなんか書いて何か役に立ちそうな事があれば更新していきますね〜。

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

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

メールアドレス:

ホームページアドレス:

コメント: