2Dのキャラクターが頭上のオブジェクトにぶつかった時、押し出されて向きが反転する

2Dゲームを作っています。
キャラクタークラスを使用して操作するキャラクターを作成しました。

こちらのキャラクターですが、ジャンプ時に頭上のブロックにかすめると、
すべるように横にずれてはねてしまい、向きが反転してしまいます。

(ブロックの端にのみぶつかったときずれます。ブロックの中央にぶつけるとずれません。)

恐らく右を向いているにも関わらず、左方向にキャラがずれることで、

「左にずれる=左方向に移動した」

と認識されて向きが反転しているのだと思われます。

すべること自体は問題ないのですが、向きを反転しないようにしたいと思っています。


  • 上昇時に向きを変更しない処理を行う

  • 上昇時に頭をぶつけても横に押し出されないようにする、(横の移動量をなくす)

  • キー入力操作で横方向に移動したときのみ、キャラクターの向きが変わるようにする

  • 頭に何かがぶつかったときはすぐに上昇を停止させる


などで対応できるかと思うのですが、
適切な方法がわからないため、いずれでも問題ありませんので、
向きが変更されない方法をご教示頂ければと思います。
宜しくお願いします。

こちらの質問ですが、自己解決致しました。
横にずれてはねる問題は、
「Character Movement」内にある「Falling Lateral Friction」のパラメータを増やして、空中の移動量を減らすことで対応できました。

向きが変わる問題は「Use Controller Roatation Yaw」のチェックを外し、入力でのみ向きを変更することで対応することができました。

問題の方は解決致しましたので、クローズとさせていただきます。