時間と高さによって放物線運動を設定する
unityで時間と高さを決めて、例えばジャンプをする方法のまとめ。
普通はRigidBodyを使って、addforceやvelocityコントロールしますが、
addforceは速度との関係が難しく、
velocity使ったとしても時間か高さしか決められない。
理由は重力加速度を変える必要があるからでした。
等加速度直線運動の3公式のうち、下の2つの式を使います。
投げ上げ運動なのでv=0として
v=v0+at→v0=-at
v^2-v0^2=2ax→v0^2=-2ax
これを整理して
v0=2x/t
a=-2x/t^2
放物線運動をする物体が1つ or 全ての物体を同じ重力加速度でコントロールする場合、
edit - project setting - physics - gravityの値を変更。
各物体を異なる重力加速度でコントロールする場合、
以上、個人的なメモでした。