Потеря скорости при трении Unity3D

172
23 июля 2019, 00:00

Разрабатываю 2D игру(вид сверху) и столкнулся с проблемой реагирования на коллайдеры. Дело в том, что на сцене есть спрайт персонажа с Rigidbody2D, BoxCollider, скрипт управления персонажем:

    void FixedUpdate()
    {
        float x = Input.GetAxisRaw("Horizontal");
        float y = Input.GetAxisRaw("Vertical");
        rigidbody2d.velocity = new Vector2(x * speed, y * speed);
    }

Если подойти к стене(TilemapCollider), и зажать две кнопки, одну в сторону стены, а вторую в сторону движения, например стена находится ниже игрока, тогда зажму S(вниз) и A(влево). Тогда игрок потеряет скорость до (7.2,0), если учитывать, что speed = 12. А в какой-то прекрасный момент вообще перестанет двигаться, пока не сделаешь движение назад или вверх.
Настройки RB2D игрока:
Здесь персонаж зависает и не двигается влево. Как будто маленький камушек мешает прокатиться.

Answer 1

Дело здесь в физическом материале - вы можете увидеть поле под него на вашем скрине. Создайте новый Physics Material 2D в папке проекта с помощью ПКМ, поменяйте значение Friction(трение) в нём на нужное вам (видимо - 0) и назначьте вашему персонажу, либо в "материал по умолчанию", находящийся в настройках 2d физики проекта.

READ ALSO
Превратить Curl post запрос в C# post

Превратить Curl post запрос в C# post

Я пытаюсь трансформировать Curl запрос:

173
wpf не читает таблицу из accdb

wpf не читает таблицу из accdb

сделал по этому примеру https://wwwyoutube

166
Протухает авторизация телеграм

Протухает авторизация телеграм

Попробовал отправлять сообщения в телеграм при помощи TLSharp (хабр, гитхаб)

176
Передача данных по udp на клиент под NAT (C# winforms)

Передача данных по udp на клиент под NAT (C# winforms)

Подскажите пожалуйста, есть ли возмлжность передать данные на клиент, который находится под NAT

170