Стена - isGrounded

Общие вопросы о Unity3D

Стена - isGrounded

Сообщение Ozbend 13 янв 2018, 14:55

Как решить такую проблему? Игрок не должен отталкиваться от стен, как от земли. Слои не подходят. Неделю сижу над этим, много чего перепробовал, ничего не подошло.Изображение[/URL]
Ozbend
UNIт
 
Сообщения: 146
Зарегистрирован: 26 авг 2016, 20:37

Re: Стена - isGrounded

Сообщение waruiyume 13 янв 2018, 17:39

Контакты с землёй находятся снизу, а со стеной сбоку.
Аватара пользователя
waruiyume
Адепт
 
Сообщения: 4972
Зарегистрирован: 30 окт 2010, 05:03
Откуда: Ростов на Дону

Re: Стена - isGrounded

Сообщение samana 13 янв 2018, 17:41

Ozbend писал(а):Неделю сижу над этим, много чего перепробовал, ничего не подошло.

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

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

И что значит "Игрок не должен отталкиваться от стен, как от земли"? То-есть он должен проходить сквозь стену? Или если окажется сверху стены (судя по рисунку), то он должен провалится вниз? :-??
Аватара пользователя
samana
Адепт
 
Сообщения: 4172
Зарегистрирован: 21 фев 2015, 13:00
Откуда: Днепропетровск
  • Сайт

Re: Стена - isGrounded

Сообщение Ozbend 13 янв 2018, 17:58

Прыжок срабатывает, если isGrounded. Логика такая:

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


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

Вопрос, собственно в том, как указать, не меняя слои, что боковые коллайдеры не земля. Насчёт снизу и сбоку я думал, но как воплотить не понял.
Ozbend
UNIт
 
Сообщения: 146
Зарегистрирован: 26 авг 2016, 20:37

Re: Стена - isGrounded

Сообщение samana 13 янв 2018, 18:22

Способов проверить столкновения очень много (вроде как). Но вы можете добавить персонажу дополнительные коллайдеры, которые просто не дадут ему пройти внутрь стены, тем самым нижние точки, которыми вы проверяете землю, так же не войдут в стену.

Изображение
Аватара пользователя
samana
Адепт
 
Сообщения: 4172
Зарегистрирован: 21 фев 2015, 13:00
Откуда: Днепропетровск
  • Сайт

Re: Стена - isGrounded

Сообщение Ozbend 13 янв 2018, 18:44

Проблема была в том, что перс засчитывал стенку, как землю, в следствие чего мог прыгать. Только что нашёл гениально простое решение проблемы - уменьшил радиус проверки земли. Может быть, кому-то поможет.
Ozbend
UNIт
 
Сообщения: 146
Зарегистрирован: 26 авг 2016, 20:37

Re: Стена - isGrounded

Сообщение Cr0c 14 янв 2018, 16:12

А я просто тонкий триггер ставлю ровно под ногами и скрипт на нём, который считает сколько вхождений было. И вызываю ивент, который в контроллере включает/выключает isGrounded.
Аватара пользователя
Cr0c
Адепт
 
Сообщения: 2805
Зарегистрирован: 19 июн 2015, 13:50


Вернуться в Общие вопросы

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

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