Выполняется только первая строка

пишу код для передвижения персонажа и возникла проблема

void Update()
    {
        vertical = Input.GetAxis("Vertical");
        horizontal = Input.GetAxis("Horizontal");
        rb.velocity = transform.forward * vertical * movementspeed;
        rb.velocity = transform.right * horizontal * movementspeed;
    }

работает только первый rb.velocity а второй нет тоесть персонаж двигается только влево-вправо либо только вперед-назад подскажите как решить пожайлуста


Ответы (1 шт):

Автор решения: f1f1stashka

решил проблему немного переписав код

void Update()
    {
        vertical = Input.GetAxis("Vertical");
        horizontal = Input.GetAxis("Horizontal");
        Vector3 velocity = transform.rotation * new Vector3(horizontal * movementspeed, 0, vertical * movementspeed);
        rb.velocity = velocity;
    }
→ Ссылка