Анимационные переходы позволяют использовать конечный автоматнабор состояний в Animator Controller в котором может находиться персонаж или анимированный GameObject, а также набор переходов между этими состояниями и переменная для запоминания текущего состояния. Доступные состояния будут зависеть от типа игрового процесса, но типичные состояния включают в себя такие вещи, как бездействие, ходьба, бег и прыжки. Подробнее
См. в Словарь, чтобы переключаться или смешиваться из одного состояния анимации к другому. Переходы определяют не только то, сколько времени должно занимать смешение между состояниями, но и то, при каких условиях они должны активироваться. Вы можете настроить переход только при выполнении определенных условий. Чтобы настроить эти условия, укажите значения параметров в Контроллере анимацииУправляет анимацией через слои анимации с помощью конечных автоматов анимации и деревьев смешивания анимации. , управляемый параметрами анимации. На один и тот же контроллер Animator могут ссылаться несколько моделей с компонентами Animator. Подробнее
См. в Словарь.
Например, у вашего персонажа может быть состояние "патрулирование" и состояние "сна". Вы можете настроить переход между патрулированием и спящим режимом только тогда, когда значение параметра «бдительность» падает ниже определенного уровня.
Чтобы дать переходу имя, введите его в поле, как показано ниже:
Окно ИнспекторОкно Unity, в котором отображается информация о текущем выбранном игровом объекте, активе или настройках проекта, что позволяет вам проверять и отредактируйте значения. Дополнительная информация
В окне Словарь показаны переходы, используемые состоянием, как показано ниже. :
В любой момент времени может быть активен только один переход. Однако текущий активный переход может быть прерван другим переходом, если вы разрешили это в настройках (см. Прерывание перехода ниже).
Свойства перехода
Чтобы просмотреть свойства перехода, щелкните линию перехода, соединяющую два состояния в окне Animatorокне, в котором Animator Контроллер визуализируется и редактируется. Подробнее
См. в Словарь. Свойства отображаются в окне инспектора.
Используйте следующие свойства, чтобы настроить переход и то, как он смешивается между текущим и следующим состоянием.
Свойства | Функции |
---|---|
Has Exit Time | Время выхода – это особый переход, который не зависит от параметра. Вместо этого он полагается на нормализованное время состояния. Установите этот флажок, чтобы переход происходил в определенное время, указанное в Время выхода. |
Settings | Раскрывающееся меню, содержащее подробные настройки перехода, как показано ниже. |
Exit Time | Если установлен флажок Есть время выхода, это значение представляет точное время, когда переход может вступить в силу. Это представлено в нормализованном времени (например, время выхода 0,75 означает, что на первом кадре, где воспроизведено 75% анимации, условие Время выхода выполняется). На следующем кадре условие ложно.
Для зацикленных анимаций переходы со временем выхода меньше 1 оцениваются в каждом цикле, поэтому вы можете использовать это, чтобы синхронизировать переход с правильным временем в анимации в каждом цикле. Переходы со значением Exit Time больше 1 оцениваются только один раз, поэтому их можно использовать для выхода в определенное время после фиксированного количества циклов. Например, переход со временем выхода 3,5 оценивается один раз после трех с половиной циклов. |
Fixed Duration | Если установлен флажок Фиксированная продолжительность, время перехода интерпретируется в секундах. Если флажок Фиксированная продолжительность не установлен, время перехода интерпретируется как часть нормализованного времени исходного состояния. |
Transition Duration | Продолжительность перехода в нормализованном времени или секундах в зависимости от режима Фиксированная продолжительность относительно продолжительности текущего состояния. Это визуализируется на графике перехода как часть между двумя синими маркерами. |
Transition Offset | Смещение времени начала воспроизведения в состоянии назначения, в которое осуществляется переход. Например, значение 0,5 означает, что целевое состояние начинает воспроизводиться на 50% своей временной шкалы. |
Interruption Source | Используйте это для управления обстоятельствами, при которых этот переход может быть прерван (см. Прерывание перехода ниже). |
Ordered Interruption | Определяет, может ли текущий переход быть прерван другими переходами независимо от их порядка (см. Прерывание перехода ниже). |
Conditions | Переход может иметь одно условие, несколько условий или вообще не иметь условий. Если у вашего перехода нет условий, редактор Unity учитывает только время выхода, и переход происходит по достижении времени выхода. Если у вашего перехода есть одно или несколько условий, все условия должны быть выполнены, прежде чем переход будет запущен.
Условие состоит из: - Параметр события (значение, рассматриваемое в условии). Если для перехода выбран параметр Есть время выхода и есть одно или несколько условий, обратите внимание, что редактор Unity учитывает, выполняются ли условия после Время выхода. Это позволяет гарантировать, что ваш переход произойдет во время определенной части анимации. |
Прерывание перехода
Используйте свойства Источник прерывания и Приказное прерывание, чтобы управлять тем, как ваш переход может быть прерван.
Концептуально порядок прерывания работает так, как будто переходы ставятся в очередь, а затем анализируются на наличие допустимого перехода от первого вставленного перехода к последнему.
Свойство источника прерывания
Переходы в AnyState всегда добавляются первыми в очередь, затем в очередь ставятся другие переходы в зависимости от значения Источник прерывания:
Значение | Функции |
---|---|
None | Не добавляйте больше переходов. |
Current State | Поставьте в очередь переходы из текущего состояния. |
Next State | Поставьте в очередь переходы из следующего состояния. |
Current State then Next State | Поставьте в очередь переходы из текущего состояния, затем поставьте в очередь переходы из следующего состояния. |
Next State then Current State | Поставьте в очередь переходы из следующего состояния, затем поставьте в очередь переходы из текущего состояния. |
Свойство упорядоченного прерывания
Свойство Упорядоченное прерывание изменяет способ анализа очереди.
В зависимости от его значения синтаксический анализ очереди заканчивается в другой момент, как указано ниже.
Значение | Заканчивается, когда |
---|---|
Checked | Обнаружен действительный переход или текущий переход. |
Unchecked | Допустимый переход был найден. |
Только переход AnyState может быть прерван сам по себе.
Чтобы узнать больше о прерываниях перехода, см. запись в блоге Unity Прерывания перехода конечного автомата.
График перехода
Чтобы вручную настроить перечисленные выше параметры, вы можете либо ввести числа непосредственно в поля, либо использовать график перехода. График перехода изменяет указанные выше значения при манипулировании визуальными элементами.
Измените свойства перехода в представлении графика, используя следующие направления::
- Перетащите маркер Длительность, чтобы изменить Длительность перехода.
- Перетащите маркер Длительность начала, чтобы изменить продолжительность перехода и Время выхода.
- Перетащите целевое состояние, чтобы настроить смещение перехода.
- Перетащите маркер воспроизведения предварительного просмотра, чтобы прокрутить анимацию в окне предварительного просмотра в нижней части Инспектора.
Переходы между состояниями Blend Tree
Если текущее или следующее состояние, принадлежащее этому переходу, является состоянием Дерева наложения, параметры дерева наложения отображаются в Инспекторе. Отрегулируйте эти значения, чтобы просмотреть, как будет выглядеть ваш переход со значениями дерева наложения, установленными для разных конфигураций. Если ваше дерево наложения содержит клипы разной длины, вам следует проверить, как выглядит переход при отображении как короткого, так и длинного клипа. Изменение этих значений не влияет на поведение перехода во время выполнения; они предназначены исключительно для того, чтобы помочь вам просмотреть, как переход может выглядеть в разных ситуациях.
Условия
Переход может иметь одно условие, несколько условий или вообще не иметь условий. Если у вашего перехода нет условий, редактор Unity учитывает только время выхода, и переход происходит по достижении времени выхода. Если у вашего перехода есть одно или несколько условий, все условия должны быть соблюдены, прежде чем переход будет активирован.
Условие состоит из:
- Параметр события, значение которого учитывается в условии.
- Условный предикат, если необходимо (например, меньше или больше для чисел с плавающей запятой).
- Значение параметра, если необходимо.
Если для перехода включен параметр Есть время выхода и есть одно или несколько условий, эти условия проверяются только по истечении времени выхода из состояния. Это позволяет гарантировать, что ваш переход произойдет только во время определенной части анимации.