Unreal Engine 4: коллайдер персонажа проходит сквозь пол при приседании

Я использую шаблон чертежа от третьего лица, и я добавил к нему пользовательский спринт и пользовательские функции приседания.. при приседании я запускаю анимацию приседания в соответствии со скоростью персонажа и устанавливаю максимальную скорость ходьбы на низкое значение, я могу прерывать приседание бегом и наоборот... Я могу встать из приседания, снова нажав клавишу приседания или попытавшись прыгнуть.

Все это работало довольно хорошо, пока я не попытался манипулировать половинной высотой коллайдера капсулы в соответствии со скоростью персонажа, когда нажимается приседание, прыжок или спринт... Я вижу, что коллайдер работает, как и ожидалось, однако, когда я пытаюсь присесть, ноги уходят в землю, и когда я снова пытаюсь встать, персонаж проваливается сквозь пол...

Любая помощь будет принята с благодарностью...


person Mohamed Gamel    schedule 17.03.2015    source источник
comment
Может быть, покажите нам скриншот той части, где вы изменяете высоту капсулы?   -  person TheBrain    schedule 17.03.2015
comment
Вот оно… oi58.tinypic.com/wujacm.jpg   -  person Mohamed Gamel    schedule 17.03.2015


Ответы (2)


Проблема в том, что простое уменьшение половины высоты, вероятно, не то, что вам нужно, когда ваш персонаж приседает, потому что ваша коллизионная капсула сжимается сверху и снизу.

Полная капсула

Половина капсулы

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

У вас есть две возможности исправить это:

  • Используйте две капсулы на своем персонаже, одну для приседания и одну для стояния, и активируйте только ту, которую вы используете.
  • Переместите капсулу вниз одновременно с ее чисткой.
person TheBrain    schedule 17.03.2015
comment
Я попробовал первый вариант, я создал второй коллайдер капсулы (коллайдер приседания), установил его полувысоту и радиус на 0, в чертеже персонажа я установил полувысоту и радиус коллайдера капсулы на 0 при приседании, затем я установил приседание полувысота коллайдера равна 65, а радиус равен 42, а когда я не приседаю, я устанавливаю полувысоту и радиус приседающего коллайдера на 0, а затем устанавливаю полувысоту коллайдера Capsule на 96 и радиус на 42. Оба коллайдера масштабируются правильно, но персонаж тонет. в землю при приседании и обратно в нормальное состояние при вставании i62.tinypic.com/33xvszl.jpg - person Mohamed Gamel; 18.03.2015

Капсула должна заканчиваться в той же точке, поэтому переместите ее ниже.

person user6207588    schedule 15.04.2016