Как сделать движение CharacterBody3d параллельно земле?

Рейтинг: 0Ответов: 0Опубликовано: 18.07.2025

Делая симулятор езды на велосипеде в 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.

Ответы

Ответов пока нет.