Страница 1 из 1

Стена - isGrounded

СообщениеДобавлено: 13 янв 2018, 14:55
Ozbend
Как решить такую проблему? Игрок не должен отталкиваться от стен, как от земли. Слои не подходят. Неделю сижу над этим, много чего перепробовал, ничего не подошло.Изображение[/URL]

Re: Стена - isGrounded

СообщениеДобавлено: 13 янв 2018, 17:39
waruiyume
Контакты с землёй находятся снизу, а со стеной сбоку.

Re: Стена - isGrounded

СообщениеДобавлено: 13 янв 2018, 17:41
samana
Ozbend писал(а):Неделю сижу над этим, много чего перепробовал, ничего не подошло.

Честное слово, у меня такое ощущение, что именно эта фраза прям дословно периодически появляется в сообщениях! Прямо дежавю какое-то.

Откуда же нам известно, как у вас вообще всё это работает? Если любое столкновение с чем угодно у вас засчитывается как "столкновение с землёй", то может стоит поменять логику в коде?

И что значит "Игрок не должен отталкиваться от стен, как от земли"? То-есть он должен проходить сквозь стену? Или если окажется сверху стены (судя по рисунку), то он должен провалится вниз? :-??

Re: Стена - isGrounded

СообщениеДобавлено: 13 янв 2018, 17:58
Ozbend
Прыжок срабатывает, если isGrounded. Логика такая:

Синтаксис:
Используется csharp
private bool IsGrounded(){             
foreach (Transform point in groundPoint)
                        {
                                Collider2D[] collider = Physics2D.OverlapCircleAll (point.position, groundRadius, whatIsGround);


В остальных случаях прыжок не должен работать.

Вопрос, собственно в том, как указать, не меняя слои, что боковые коллайдеры не земля. Насчёт снизу и сбоку я думал, но как воплотить не понял.

Re: Стена - isGrounded

СообщениеДобавлено: 13 янв 2018, 18:22
samana
Способов проверить столкновения очень много (вроде как). Но вы можете добавить персонажу дополнительные коллайдеры, которые просто не дадут ему пройти внутрь стены, тем самым нижние точки, которыми вы проверяете землю, так же не войдут в стену.

Изображение

Re: Стена - isGrounded

СообщениеДобавлено: 13 янв 2018, 18:44
Ozbend
Проблема была в том, что перс засчитывал стенку, как землю, в следствие чего мог прыгать. Только что нашёл гениально простое решение проблемы - уменьшил радиус проверки земли. Может быть, кому-то поможет.

Re: Стена - isGrounded

СообщениеДобавлено: 14 янв 2018, 16:12
Cr0c
А я просто тонкий триггер ставлю ровно под ногами и скрипт на нём, который считает сколько вхождений было. И вызываю ивент, который в контроллере включает/выключает isGrounded.