Суть в том, что я не стал использовать инверсную кинематику по причине незнания, и решил сделать просто при помощи стыкуемости анимаций во время изготовления. Анимация выглядит так: подходит герой и кладет руку на плечо npc. Код выглядет так:
-начинается событие
-изменению мешам и капсулам героя и npc коллизии к pawn на ignore
-отключается управление
-игрок движется к указанной точке, которую я задал для стыка во время моделирования (находится на уровне с мешем, только чуть впереди от npc)
-игрок дотелепортируется до точного места для идеального стыка (тестируемая особенность, связана с тем что игрок не мог прийти точно в нужную точку)
А дальше уже идет animation montage и уже не особо важно, потому что проблема в телепорте: он срабатывает по-разному! Иногда игрок телепортируется нормально, а иногда по пояс относительно точки стыка.
Для идеальности эксперимента я сделал эту сцену на ровной поверхности.
Как может код срабатывать всегда по разному?
Заметки, куда можно копать:
1) npc делались на основе шаблона TPS, у которого root блюпринта является капсула, которая делает всего персонажа по пояс в земле. Соответственно так в превью редактора персонажа и у npc и у героя, но на сцене они конечно же стоят на земле и без проблем могут бегать.
2) после застревания в земле, когда возвращается управление, герой не улетает вниз, а при помощи кнопок управления легко может выбраться.