質問: new Vector2(GetComponent().velocity.x, jumpVelocity); ``` これではジャンプ後一直線に落下してしまい少々味気ない感じです。(下の図のように) ![イメージ説明](https://teratail.storage.googleapis.com/uploads/contributed_images/3e6d4d1b08c0483d9af01d42435e7502.png) ベジェ曲線を使い加速をコントロールできれば実装できるのではと考えているのですが、コードがさっぱり分かりません。 以下図のようなものが理想です。 ![イメージ説明](https://teratail.storage.googleapis.com/uploads/contributed_images/64ae1cda6483b05c42d76d2c40a0acb6.png) お詳しい方、ご教示願いします。
回答: まず、現状のコードでは一直線には落下しません。 jumpVelocityが時間に応じて増加(マイナスがついているので実際には減少ですが)します。 現在のコードだと、jumpVelocityという名前がついているものの、deltaTime毎に増加するため、 速度ではなく加速度を意味しています。 *そんなことは、わかっとるわ!というならすみません。 加速度を変化させたいということであれば、現在のjumpVelocityにdeltaTimeに応じた変数を掛ければ良いのではないでしょうか。 例えば初期値を0.1とし、deltaTime毎に0.001ずつ増加させ、最大値を1とするような係数をvelocityにかければ、加速度が最初は小さく徐々に速くなります。 ただし、経験上加速度をいじるよりは、速度に上限(下限を設ける)方が、従来のアクションゲームぽい動作になると思います。 実際に物体の落下速度は速度に応じた空気抵抗が働き、一定値以上は出ませんので、最大値を設定すればリアルな挙動に近づきます。