今回は以下の自機の挙動を改善・追加していくよ
1.通常移動方法の改善
2.クイックブーストの追加
3.飛行ブースト(上昇)の追加
4.摩擦の改善
1.通常移動方法の改善
今までの移動方法は、チュートリアルと同じようにRigidbody.AddForceによって、移動したい方向に力を加えていた。
この移動方法ではACっぽい動きを実現するのは難しい。
なので、現在速度ベクトルとの目標速度ベクトル差分から作速度差分ベクトルを作成することにした。
この速度差分ベクトルを現在の速度ベクトルに加算することで機体の移動を実現する。
また、速度差分ベクトルの大きさを変えることで機体ごとの加速度の違いを作れたりできるはず。
ここでいう目標速度ベクトルっていうのはプレイヤーからの入力から得られるこう動きたいっていう目標値。
図にするとこんな感じ
んで現在速度ベクトルがこんな感じに変わる。
最高速度と加速度は機体毎にカスタマイズで変わるようにしていきたい。
最高速度:高
加速度:低
最高速度:低
加速度:高
ちょっと加速度高のやつは動きがキモい
2.クイックブーストの追加
ナチュラルにクイックブーストを追加しました。
あの一瞬だけ早くなって敵の弾をかわすやつね
こちらは噴射力と、噴射時間を調整できるようにして個性をだせるようにしたい
あとクイックブーストのクールタイム時間は全向き共通にしてるけど
ACだと違う向き(縦→横よか)にクイックブーストするときはクールタイムなかった希ガス。この辺は要調整。
3.飛行ブースト(上昇)の追加
コイツ!飛ぶぞ!!
押してる間だけy軸の速度が上昇していく、もちろん上層速度の上限は設けている。
とはいえ、y軸の動きをどう取り入れるかは悩みどころ。
空中をビュンビュン飛び回れると地形関係なくなっちゃうからそれは味気ない。
ジャンプを取り入れるか、一度離陸してからの上昇ブースト使用時間に制限を設けるとか。とりあえずこの動きは仮の実装。
4.摩擦の改善
Rigidbodyの摩擦係数を調整。
これで自機が壁にぶつかったときに摩擦で旋回してしまう現象を防げる。
方法としてはPhysic Materialっていうのを作成して、そこで摩擦係数を設定。
あとはD&Dでcolliderにその情報を待たしてやればおk
詳しくは以下
https://openbook4.me/projects/172/sections/1002
以上です。
コメント