Здравствуйте.
В общем виде реализовал механику приседания, но хотелось бы, чтобы персонаж автоматически присаживался еще ниже когда высота прохода меньше чем стандарт принятый в игре.
Сделал триггер, при пересечении которого Capsule Half Height становиться еще чуть меньше, чем при обычном приседании, и ставлю его возле прохода. Проблема в том, что если игрок нажмет кнопку приседания до пересечения триггера, то все работает, а если уже после, то персонаж присядет на стандартную высоту. Как это можно исправить?
Может у вас есть другие идеи как реализовать подобное? Поделитесь, пожалуйста.



Как сделал так и работает, Ванга в отпуске что бы угадывать.
Лайн трейсом вычисляешь высоту над башкой и подгоняешь капсулу по результату.
Kemanorel
Да, вы правы, обновил пост, чтобы было понятно.
Вам сказали правильный ответ, вам нужно использовать лайнтрейс, нацелить его вверх, получая точку пересечения со стеной, легко получить дистанцию между 2-мя локациями.
меняй значение Crouched Half Height в Movement Component когда заходишь в триггер бокс.
1. зачем касты? убери
2. два рабочих объема, капсула и триггер боксы
2.1 чек на оверлап и энд оверлап
2.2 что бы не было траблы с нажатием - запили проверку (либо булевой переменной при оверлап эвенте либо функцией Is Overlapping Actor)
3. сам оверлап бокс можешь реализовать как актора с регулируемой внутри точкой и при перекрытии брать их мировые (не локальные) координаты для интерполяции положения камеры
И ни каких всратых трейсов не нужно.
wertolot
> 3. сам оверлап бокс можешь реализовать как актора с регулируемой внутри точкой и при перекрытии брать их мировые (не локальные) координаты для интерполяции положения камеры
> И ни каких всратых трейсов не нужно.
Здравствуйте. Я, честно говоря, не понял третий пункт. Объясните, пожалуйста, для новичка, что значит актор с регулируемой внутри точкой, и зачем брать мировые координаты?
Blackhead
> Здравствуйте. Я, честно говоря, не понял третий пункт. Объясните, пожалуйста, для новичка, что значит актор с регулируемой внутри точкой, и зачем брать мировые координаты?
Сорян, приболел. @wertolot13 телега, напиши покажу, тут долго и неудобно.
Пускаешь два трейса - один впереди (куда двигаешься), второй позади (откуда двигаешься), то есть если ты двигаешься вбок то вектор положения переднего трейса будет находиться сбоку.
Если нет пересечений - то ты стоишь. Если есть хоть одно - садишься.
Тема в архиве.