Как повернуть верхнюю часть тела персонажа от первого лица (единство)
Я делаю RPG-игру от первого лица в единстве. Итак, у меня есть анимация атаки, но она атакует только то, что находится перед персонажем. Как сделать анимацию в зависимости от того, куда смотрит игрок (например, если я посмотрю вверх, персонаж должен атаковать вверх, а не вперед)? Я пытался прикрепить камеру от первого лица к верхней части тела, чтобы она вращалась вместе с камерой, но это заставляет сетку персонажа растягиваться и искажаться, и анимация даже не работает в любом случае.
Кстати, у персонажа все сфальсифицировано, есть разные анимации для ходьбы, бега и анимации атаки с использованием механизма Unity. Все остальное работает, у меня просто проблемы с анимацией атаки...
2 ответа
Для тех из вас, кто еще интересуется, я изменил вращение верхней части тела в функции LateUpdate(). Я создал переменную, которая отслеживала последний выполненный поворот, получил пользовательский ввод и просто повернул верхнюю часть тела на основе пользовательского ввода + последний поворот в LateUpdate() и обновил последний выполненный поворот. Вы должны всегда вращать последнее вращение, иначе персонаж будет убран, а верхняя часть тела не будет продолжать смотреть в нужное место.
В основном это делается с помощью вашего решения IK. Возможно, вы захотите использовать полный решатель тела и эффекторы, чтобы получить полуреалистичное движение для этих типов анимации, вы можете использовать final-ik, это готовое решение, или вы можете написать свое собственное, используя unity` Система, но это занимает много времени