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