Юзаю PhysX, хотя и нативной коллизией не сложно реализовать.
В общем принцип таков:
1. Определяешь стоит ли персонаж (стоит ли на ногах).
2. Исходя из этого (True/False), уже реализуешь управление персонажем.
Как вычислить стоит ли. Ну вопервых координата коллизии, должна быть в радиусе ног (можно тупо к координате Y прицепить).
Второе, нужно определить вектор коллизии (CollisionN[X/Y/Z]). Перевести в градус и сделать ограничение. Если градус на 50-100% паралелен вертикали гравитации - то перс стоит, в обратном случае, он уже не стоит а скользит или т.п.
Таким образом я делаю коллизию, выходит весьма шустро и без проблем нормально работает
