RigidBody.velosity. Персонаж летит. Как исправить?

Программирование на Юнити.

RigidBody.velosity. Персонаж летит. Как исправить?

Сообщение mananasaly 31 мар 2019, 23:19

Имеется код движения персонажа

Синтаксис:
Используется csharp
  void Update()
    {
        if (Input.GetButtonUp("right"))
        {
            rb.velocity = new Vector3(1, 0.5f, 0) * speedMove;
        }
        else

        if (Input.GetButtonUp("left"))
        {
            rb.velocity = new Vector3(-1, 0.5f, 0)* speedMove;
        }
        else

        if (Input.GetButtonUp("up"))
        {
            rb.velocity = new Vector3(0, 0.5f, 1)* speedMove;
        }
        else

        if (Input.GetButtonUp("down"))
        {
            rb.velocity = new Vector3(0, 0.5f, -1) * speedMove;
        }

    }


Вроде бы двигается нормально, но рывками, это первая проблема, которую хотелось бы исправить. Вторая проблема: если очень быстро нажимать на кнопки, то персонаж начинает попросту лететь. Пробовала убрать в векторе составляющую y, но мне бы все-таки хотелось, чтобы персонаж прыгал. Подскажите, как исправить?
mananasaly
UNец
 
Сообщения: 10
Зарегистрирован: 30 мар 2019, 23:51

Re: RigidBody.velosity. Персонаж летит. Как исправить?

Сообщение 1max1 31 мар 2019, 23:27

Он у тебя после отпускания клавиш ходит я так полагаю)) В чем прикол?
Аватара пользователя
1max1
Адепт
 
Сообщения: 5505
Зарегистрирован: 28 июн 2017, 10:51

Re: RigidBody.velosity. Персонаж летит. Как исправить?

Сообщение NAGIBATOR228pacan 01 апр 2019, 07:00

Я думаю надо для начала узнать что такое rigidbody.velocity, а потом уже начинать пользоваться этой возможностью. velocity задаёт скорость объекта по осям, и поэтому чтобы объект не висел в воздухе то при движении в позицию y вектора который ты будешь присваивать к velocity должно быть написано rigidbody.velocity.y.
Кароче вот тебя одна строчка с нужным тебе управлением.
Синтаксис:
Используется csharp
rigidbody.velocity = new Vector3(Input.GetAxis("Horizontal"),rigidbody.velocity.y,Input.GetAxis("Vertical"));
 
NAGIBATOR228pacan
UNITрон
 
Сообщения: 318
Зарегистрирован: 15 мар 2017, 20:39

Re: RigidBody.velosity. Персонаж летит. Как исправить?

Сообщение AngryCat 08 апр 2019, 22:39

Сотри окончания Up во всех условиях.
Здесь могла бы быть ваша реклама.
Аватара пользователя
AngryCat
Старожил
 
Сообщения: 716
Зарегистрирован: 20 июл 2018, 22:29
Skype: Дискорд - Флеш#4099


Вернуться в Скрипты

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 5