СharacterController в присядку

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

СharacterController в присядку

Сообщение Axil 18 ноя 2019, 20:24

Использую СharacterController, т.к. он предоставляет много возможностей. Особенно шагание на ступеньки и регулирование высоты возможных ступенек.

1.
Наткнулся на древнюю проблему - если высота ступенек задана достаточно большой (но естественно не превышает половину роста) - СharacterController начинает задевать головой низкие потолки и дверные проемы, которые нормально проходит если уменьшить высоту шага. Первое упоминание этой проблему 12 год, а воз и ныне там.
https://forum.unity.com/threads/charact ... ps.202086/
Нормального решения нет, но я просто тупо уменьшил высоту контроллера, чтобы замедлялся но проходил.
Кто сталкивался и как решал?

2.
Сделал приседание - уменьшаю высоту капсулы. Причем снизу и персонаж как-бы падает, поэтому все плавно.
Вставание - возвращаю высоту - персонажа выталкивает из поверхности и это наверно не правильно, иногда может и застрять.
Чтобы не застрял, может быть придать ему ускорения вверх типа как при прыжке?
Но самое страшное - что делать если игрок встал в процессе пролезания под низким препятствием?
Нужно запретить ему вставать, но как?
Повесить над головой триггер или есть другие законные методы?
CollisionFlags над головой не сработает, касания нет, но вставать нельзя!
Аватара пользователя
Axil
UNIт
 
Сообщения: 51
Зарегистрирован: 02 окт 2019, 11:26

Re: СharacterController в присядку

Сообщение Xtir 18 ноя 2019, 20:32

2. Кроме как изменить высоту, нужно ещё и отцентрировать его, что бы не проваливался. А что бы он не мог встать там где нельзя, можно луч провести вверх и проверить есть там что-нибудь, или нет.
Xtir
UNIверсал
 
Сообщения: 498
Зарегистрирован: 21 окт 2016, 00:37

Re: СharacterController в присядку

Сообщение Axil 18 ноя 2019, 20:38

Я центрирую его относительно глаз (камеры). По этому при вставании он как-бы растет вниз. Но вроде бы вставать одновременно подбрасывая его, почти как при прыжке - нормальная тема. Если отрегулировать скорость подбрасывания.
При попытке встать - проверять RayCast'ом? :-? Попробую.
Аватара пользователя
Axil
UNIт
 
Сообщения: 51
Зарегистрирован: 02 окт 2019, 11:26

Re: СharacterController в присядку

Сообщение Axil 18 ноя 2019, 20:44

Собственно, если не просто увеличить высоту, а еще и центр всего объекта поднять - то да это будет вставание без пересечения с полом и наверно так правильно....
Но это происходит рывком, а по моему методу плавненько. И хоть позиция камеры у меня все равно сглаживается так получаетяс намного приятнее.
Аватара пользователя
Axil
UNIт
 
Сообщения: 51
Зарегистрирован: 02 окт 2019, 11:26

Re: СharacterController в присядку

Сообщение Axil 18 ноя 2019, 23:11

RayCast может промахнуться.
Аватара пользователя
Axil
UNIт
 
Сообщения: 51
Зарегистрирован: 02 окт 2019, 11:26

Re: СharacterController в присядку

Сообщение Axil 18 ноя 2019, 23:54

Добавил коллайдер - триггер над головой, но в OnTriggerEnter приходит какая-то дичь.
Наверно нельзя под один и тот-же объект вешать и триггер и СharacterСontroller, т.к. OnTriggerEnter срабатывает и для СharacterСontroller и для триггера ?
Они там еще и сами с собой пересекаются но почему-то с другими объектами - нет
Аватара пользователя
Axil
UNIт
 
Сообщения: 51
Зарегистрирован: 02 окт 2019, 11:26

Re: СharacterController в присядку

Сообщение Axil 19 ноя 2019, 00:09

Все я понял! Правильный ответ: Physics.OverlapSphere
Вот как полезно посоветоваться с уточками!
Аватара пользователя
Axil
UNIт
 
Сообщения: 51
Зарегистрирован: 02 окт 2019, 11:26

Re: СharacterController в присядку

Сообщение Jarico 19 ноя 2019, 20:08

изменяешь высоту, и изменяешь offset... Вот тебе и приседание
Github: _https://github.com/redheadgektor
Discord: Конь! Чаю!#9382 (сижу редко)
YouTube: _https://www.youtube.com/channel/UCPQ04Xpbbw2uGc1gsZtO3HQ
Telegram: _https://t.me/redheadgektor
Аватара пользователя
Jarico
Адепт
 
Сообщения: 1084
Зарегистрирован: 06 янв 2019, 17:37
Откуда: 0xDEAD
Skype: none
  • Сайт

Re: СharacterController в присядку

Сообщение Axil 20 ноя 2019, 16:38

Так в приседанием проблем и не было, были проблемы со вставанием после приседания.
Аватара пользователя
Axil
UNIт
 
Сообщения: 51
Зарегистрирован: 02 окт 2019, 11:26


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

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

Сейчас этот форум просматривают: Google [Bot], Yandex [Bot] и гости: 9