Перемещение персонажа анимацией в сетевой игре

Общие вопросы о Unity3D

Перемещение персонажа анимацией в сетевой игре

Сообщение eonyanov 14 июл 2017, 17:16

Стоит ли в сетевой игре перемещать модель персонажа через анимацию (Root Motion)?
Сложно ли синхронизировать положение игрока и состояние аниматора в таком случае?
Сейчас делаю контроллер персонажа и встал вопрос: двигать Rigidbody и отправлять в аниматор параметры скорости, чтоб он проигрывал нужную анимацию. Или же сначала отправлять ввод игрока, проигрывать анимацию и передвигать Rigidbody следом (вроде так сделано в ThirdPersonController из стандартных ассетов).

Первый вариант не устраивает тем, что скорость анимации не могу никак нормально подстроить под скорость передвижения. Если оттягиваю джойстик до упора, персонаж бежит с полной скоростью и анимация проигрывается подходящим образом, потому что я подобрал нужное значение скорости проигрывания. Но как только джойстик оттягивается чуть чуть, чтобы персонаж шел медленно, анимация в BlendTree как-то уж совсем медленно начинает играться. И вот не знаю, как это синхронизировать.

А второй вариант (перемещение по анимации) напрягает тем, что, как мне кажется, много нужно будет синхронизировать анимаций по сети. Видел компонент NetworkAnimator, но с ним еще не работал.
Если у кого есть опыт, поделитесь.
Glow Asteroids Game
Happy Chair
Аватара пользователя
eonyanov
UNITрон
 
Сообщения: 298
Зарегистрирован: 22 авг 2014, 10:28

Re: Перемещение персонажа анимацией в сетевой игре

Сообщение cibersant 14 июл 2017, 18:52

Короче ismine двигать можно аниматором,а вот на остальных при синхронизации отключать rootnode и синхронизировать положение и вращение.А по другому хрень получается.
_https://vk.com/app4031890 - 3d боец
cibersant
Старожил
 
Сообщения: 938
Зарегистрирован: 14 дек 2011, 01:27


Вернуться в Общие вопросы

Кто сейчас на конференции

Сейчас этот форум просматривают: Google [Bot] и гости: 10