Ретаргетинг гуманоидов
Одной из самых мощных особенностей Mecanim является возможность перенаправления гуманоидов. Это означает, что вы можете применять один и тот же набор анимаций к различным моделям персонажей. Перенаправление возможно только для гуманоидов с настроенным Аватаром. Настроенный аватар обеспечивает возможность соответствия между костной структурой моделей.
Рекомендуемая структура Hierarchy
При работе с анимациями Mecanim вы можете ожидать, что ваша сцена будет содержать следующие элементы:
- Импортированная модель персонажа, в которой есть Аватар.
- Компонент Animator, ссылающийся на ассет Контроллера Animator.
- Набор анимационных клипов, на которые ссылается контроллер Animator.
- Скрипты для персонажа.
- Компоненты, связанные с символами, такие как контроллер символов.
Ваш проект должен также содержать другую модель персонажа с действительным Аватаром.
Для перенаправления между моделями персонажей выполните следующие действия:
-
Создайте GameObject в Hierarchy, который содержит компоненты, связанные с символами.
MainChar GameObject с компонентом Character Controller. -
Поместите модель в качестве дочернего объекта GameObject вместе с компонентом Animator.
Дочерний компонент Kyle_Robot GameObject с компонентом контроллера Animator. -
Убедитесь, что скрипты, ссылающиеся на Animator, ищут аниматора в дочерних файлах, а не в корне. Для этого используйте
GetComponentInChildren<Animator>()вместоGetComponent<Animator>().
Символ Kyle_Robot.
Затем, чтобы повторно использовать те же анимации на другой модели, выполните следующие действия:
Отключить исходную модель.
-
Перетащите желаемую модель в качестве другого дочернего объекта GameObject.
Дочерний Teddy GameObject с компонентом Animator Controller, установленным на no controller. -
Убедитесь, что свойство Animator Controller для новой модели ссылается на тот же ассет контроллера.
Тедди GameObject с его Контролером Animator установлен на тот же контроллер, что и Кайл GameObject. -
Настройте контроллер персонажа, преобразование и другие свойства на верхнем уровне GameObject, чтобы убедиться, что анимации работают гладко с новой моделью.
Персонаж Тедди.