Как убрать трение в Unity2D?

128
17 апреля 2022, 13:50

Чтобы убрать трение при столкновении со стенами я добавлял колайдеру персонажа физический материал и в нём убирал Friction на 0, но из-за отсутсвия трение персонаж начинал скользить по поверхности земли после остановки движения. А если Friction на 1, то сколькожение пропадало, но персанаж растревает при контакте со стенами. Читал на форумах, что скольжение происходит из-за перемещения персонажа через Transform и нужно делать через velocity, но почему-то у меня это не сработало.

Условие для движения персонажа.

if (_joystick.Horizontal != 0 && !_isAttacking && _health > 0)
    {
        _rigidbody.velocity = new Vector2(_joystick.Horizontal * _speed, _rigidbody.velocity.y);
        _effect.SetActive(true);
        _animator.SetInteger("StateSwordsman", 2);
    }
Answer 1

Можно попробовать сделать два коллайдера, на верхний наложить физический материал(в нем все на 0) и нижний оставить как есть и ничего в него не добавлять. Таким образом персонаж не будет прилипать к стенам, благодаря верхнему коллайдера, и скользить не будет так как в низу коллайдер совершенно другой.

READ ALSO
как работать с браузером через c#?

как работать с браузером через c#?

Хочу сделать программу для эмуляции работы пользователей, например на сайт, выполняет поиск через заполнение значение инпута и нажатие какой...

181
Уместно ли использовать DependencyService в указанном случае?

Уместно ли использовать DependencyService в указанном случае?

В решении XamarinForms стоит следующая задача: необходимо реализовать систему, которая будет следить за подключением/отключением USB-устройств

221
Как скомпилировать файлы и папки в один .exe

Как скомпилировать файлы и папки в один .exe

Я экспортировал все внутриновсти спомощью dotPeek, получил папки и файлыМне нужно было немного подкоректировать код(добавить пару ссылок), я сделал...

114
Как работает передаваемый параметр index в Points

Как работает передаваемый параметр index в Points

Бьюсь весь день, не могу понять, как работает передаваемый параметр index в Points, а также, что выполняет данная строчка:

182