Ловить мяч, используя гуманоидную модель в единстве?

В единстве какой подход использовать, если мы хотим, чтобы игрок-человек поймал брошенный в него мяч. У меня есть анимация для улова, но анимация должна быть синхронизирована таким образом, чтобы, когда анимация воспроизводится автоматически за некоторое время до того, как мяч достигнет руки игрока, чтобы, когда мяч достигает руки, анимация находилась в кадре, где игрок как быть готовым к приему мяча, а также как изменить положение руки и игрока, чтобы он мог поймать различные типы мяча (мяч может лететь с небольшой траектории и быть полученным на разной высоте), приближающийся к нему, и захват не выглядит неуместным. естественный.

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


person Gkills    schedule 02.09.2014    source источник


Ответы (1)


Для этого вам потребуется использовать инверсную кинематику вместе с анимацией.

Unity предоставляет встроенную поддержку этой функции, но это функция только для версии Pro. В магазине активов есть ряд надстроек, которые также предоставляют эту функцию в Unity Free, одна из которых бесплатна.

Вы также можете реализовать свою собственную систему IK. В Интернете есть множество источников о том, как это сделать, включая это видеоруководство по C++. (понятия и математика переносятся на любой язык).

Ключом к плавным движениям является смешивание ваших текущих анимаций с вашим решателем IK. То, как вы это сделаете, зависит от того, как вы решите реализовать свою систему IK, но логика будет выглядеть примерно так:

 if(ball.angleFromPlayer more than 90 or less than 180)
        playAnimationA()
 if(ball.angleFromPlayer more than 180 or less than 270)
        playAnimationB()
 ...

 mixingPercentage = ball.distance/ball.startingDistance;
 solveIKForArms(ball.postion,mixingPercentage)
person Selali Adobor    schedule 02.09.2014