@Moskaa

Игровой объект, на котором есть свойство Rigidbody, очень медленно падает с высоты?

Игровой объект, на котором есть свойство Rigidbody, очень медленно падает с высоты. Я примерно понимаю, что возможно проблема заключается в том, что второй аргумент Vector3 не должен равняться нулю, и если это так, то в таком случае, чем можно заменить нуль? Код представлен ниже:

private float speed = 10f;

private Vector3 direction;

private Rigidbody rb;

private void Awake()
{
    rb = GetComponent<Rigidbody>();
}

private void FixedUpdate()
{
    Movement();
}

private void Movement()
{
    direction.z = Input.GetAxis("Vertical") * speed ;
    direction.x = Input.GetAxis("Horizontal") * speed ;
    rb.velocity = new Vector3(direction.x, 0, direction.z); // Строка, в которой может быть ошибка.
}
  • Вопрос задан
  • 74 просмотра
Решения вопроса 1
@SWA512
Нельзя напрямую менять скорость или положение Rigidbody, если хотите двигать используйте AddForce(forceVec, ForceMode.Impulse);

Медленно падает потому что вы обнуляете вертикальную компоненту скорости каждый FixedUpdate();
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы