Version: 5.3 (switch to 5.4b)
Animator Override Controllers
Производительность и оптимизация в Mecanim

Переназначение гуманоидных анимаций

Одной из наиболее мощных возможностей системы Mecanim является переназначение гуманоидных анимационных клипов. Другими словами, с относительно небольшими усилиями вы сможете использовать один и тот же набор анимационных клипов для различных моделей персонажей. Переназначение возможно только для гуманоидных моделей с правильно настроенным аватаром (Avatar), поскольку это позволяет определить соответствия в структуре костей модели.

Рекомендованная структура окна Hierarchy

При работе с анимационными клипами Mecanim предполагается, что сцена содержит следующие элементы:-

  • Импортированная модель персонажа, на которой есть аватар (Avatar).
  • Компонент Animator, который ссылается на требуемый ассет Animator Controller.
  • Набор анимационных клипов, использующихся в Animator Controller.
  • Скрипты персонажа.
  • Компоненты, относящиеся к персонажу, например Character Controller.

В проекте также должен быть другой персонаж с правильно настроенным аватаром (Avatar)

Если у Вас возникают вопросы по терминологии, обратитесь к Animation Glossary

Рекомендован следующий порядок действий:

  • В окне Hierarchy создать GameObject со всеми необходимыми для персонажа компонентами
  • Поместить модель как дочерний объект по отношению к GameObject, и добавить на нее компонент Animator
  • Убедиться, что скрипты, ссылающиеся на Animator, ищут аниматор в дочерних объектах, а не на самом объекте; вместо GetComponent<Animator>() используйте GetComponentInChildren<Animator>()

Для переноса используемых анимационных клипов на другую модель, требуется:

  • Выключить оригинальную модель
  • Поместить требуемую модель как еще один дочерний объект по отношению к GameObject
  • Убедиться, что Animator Controller ссылается на тот же контроллер, что и оригинальная модель
  • Настроить свойства Character Controller, Transform и других компонентов родительского объекта GameObject таким образом, чтобы анимационные клипы на новой модели проигрывались правильно.
  • Готово!
Animator Override Controllers
Производительность и оптимизация в Mecanim