Animator unity как?
никак не свяжу 2 готовые анимации через Animator, запутался.
Компьютеры и связь
Развлечения
Нейросети, ИИ
Животные и питомцы
Animator Controller управляет выбором клипов. Для вашего примера достаточно двух состояний Idle и Walk и одного логического параметра isMoving. Само создание клипов здесь уже завершено, поэтому заново записывать движение не требуется.
| Элемент | Что сделать | Зачем |
|---|---|---|
| Animator Controller | Создайте ассет контроллера в Project и назначьте его полю Controller компонента Animator на нужном объекте | Именно этот компонент будет проигрывать выбранные состояния |
| Idle | Перетащите клип в окно Animator и сделайте его состоянием по умолчанию | При запуске объект начнёт с анимации покоя |
| Walk | Добавьте второй клип как отдельное состояние | Контроллер получит анимацию движения |
| isMoving | В Parameters добавьте Bool с таким именем | Значение будет сообщать контроллеру, нужно ли двигаться |
| Idle → Walk | Создайте переход и условие isMoving равно true | При включённом параметре начнётся ходьба |
| Walk → Idle | Создайте обратный переход с условием false | После остановки вернётся состояние покоя |
Для немедленной реакции на параметр отключите Has Exit Time у обоих переходов. Иначе контроллер может ждать заданного момента клипа, хотя условие уже выполнено. Длительность смешивания настройте по виду результата, а не по универсальному числу.
Сначала проверьте схему без скрипта: в Play выберите объект и переключите isMoving прямо в окне Animator. Затем связывайте параметр с логикой движения. Имя в вызове Animator.SetBool должно точно совпасть с именем параметра. Убедитесь, что изменяется Animator нужного экземпляра персонажа, а не соседнего объекта.
Итог: подключите два готовых клипа к одному Animator Controller и управляйте переходами параметром Bool.
Создайте контроллер, назначьте его компоненту Animator на объекте и добавьте в граф состояния Idle и Walk. Idle сделайте состоянием по умолчанию. В Parameters создайте isMoving. Переходу Idle → Walk задайте условие true, обратному переходу условие false. Если переключение должно происходить сразу после изменения условия, снимите Has Exit Time у обеих стрелок.
Проверьте работу в Play, вручную меняя isMoving в окне Animator. Когда граф заработает, передавайте то же значение из скрипта через SetBool. Если переменная в коде меняется, а анимация нет, проверьте ссылку на компонент и точное написание имени параметра.
Пока нет премиум-вопросов в подборке
Не нашли то, что искали?
Задайте свой вопрос
Ответить на вопрос