Как сделать движение CharacterBody3d параллельно земле?
Делая симулятор езды на велосипеде в godot, я столкнулся с проблемой вращения тела относительно пола. Вот что получается без какого-либо вращения:
https://drive.google.com/file/d/1D_To8xYAwIhG55A5AqTdydvE3CpnYoxS/view?usp=sharing
Потом я сделал ручное вращение с помощью двух лучей, выходящих из колёс:
if $FrontRaycast.is_colliding() && !$BackRaycast.is_colliding():
rotate_z(-.005)
elif $BackRaycast.is_colliding() && !$FrontRaycast.is_colliding():
rotate_z(.005)
Получилось тоже так себе:
https://drive.google.com/file/d/1n0dFO_L5q9k4m9-sxcSYnBZXbPQenYNv/view?usp=sharing
А как сделать это правильно?
PS: По некоторым причинам я не могу воспользоваться VechicleBody3D.
Источник: Stack Overflow на русском