前提・実現したいこと
Unityでvelocityを使った移動の後の慣性をなくしたいです。
https://teratail.com/questions/105824 にもある通り解決策はわかるのですが、自分のコードに対して有効な解決法ではなかったです。
発生している問題・エラーメッセージ
移動後に慣性が発生する。
該当のソースコード
C#
1void FixedUpdate(){ 2 float horizontalKey = Input.GetAxis("Horizontal"); 3 float verticalKey = Input.GetAxis("Vertical"); 4 float xSpeed = 0.0f; 5 float ySpeed = 0.0f; 6 if (horizontalKey > 0){ 7 xSpeed = speed; 8 } else if (horizontalKey < 0){ 9 xSpeed = -speed; 10 } else{ 11 xSpeed = 0.0f; 12 rb.velocity = Vector2.zero; 13 } 14 if (verticalKey > 0){ 15 ySpeed = speed; 16 } else if (verticalKey < 0){ 17 ySpeed = -speed; 18 } else{ 19 ySpeed = 0.0f; 20 } 21 22 rb.velocity = new Vector2(xSpeed, ySpeed); 23 } 24} 25
試したこと
ifのおかげでこの問題が発生していると睨んだので、<0を<1にしたりしましたが、そうしたら今度は初動が遅くなってしまいました。
補足情報(FW/ツールのバージョンなど)
ここにより詳細な情報を記載してください。
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2022/01/11 07:22
2022/01/11 13:29