Я делаю игру на подобии игры баланс , есть шарик который катается по миру
Вот код при помощи которого он это делает:
private Rigidbody rb;
public int speed = 1; // скорость передвижения
void Start()
{
// Получить доступ к компоненту Rigidbody
rb = GetComponent<Rigidbody>();
}
void FixedUpdate()
{
// Нажатие стрелочки влево или вправо
float moveHorizontal = Input.GetAxis("Horizontal");
// Нажатие стрелочки вперёд или назад
float moveVertical = Input.GetAxis("Vertical");
// Перемещение шара
Vector3 movement = new Vector3(moveHorizontal * speed, 0.0f, moveVertical * speed);
rb.AddForce(moveHorizontal * speed, 0.0f, moveVertical * speed);
}
Дальше,я установил cinemamachine и наcтроил
В чем проблема,если повернуть камеру в игре при нажатии кнопки вперед он едет назад из-за того что ракурс камеры изменен,это надо иcправить
Пробовал запихнуть игрока в пустышку которая будет поворачиваться относительно камера на нужный угол градусов,но как выяснилось метод addForce работает на глобальных координатах
Если же использовать addRelativeForce то тогда это работает но есть проблема из-за того что шарик когда двигается тоже проворачивается AddRelativeForce работает некорректно.