Animation переходы
Использовать анимационные переходы в машина состояний чтобы переключиться или смешаться из одного состояния анимации в другое. Переходы задают длительность смешивания между состояниями и условия, при которых происходит переход. Чтобы задать эти условия, укажите значения параметров в Animator Controller.
Например, у вашего персонажа могут быть Patrolling состояние и Sleeping состояние. Вы можете сделать так, чтобы переход между патрулированием и спящим режимом происходил только тогда, когда значение параметра Alertness падает ниже определенного уровня.
Чтобы назвать переход, введите его имя в поле над переходом:
Окно Inspector отображает переходы, которые использует состояние:
Вы можете активировать только один переход одновременно. Однако вы можете настроить параметры для прерывания текущего активного перехода другим переходом. Подробнее см. в Перерыв перехода.
Свойства перехода
Чтобы просмотреть свойства перехода, выберите линию перехода, соединяющую два состояния в окне Animator. Свойства отображаются в окне Inspector.
С помощью следующих свойств настройте переход и то, как он смешивает текущее и следующее состояние.
| Свойство | Функция |
|---|---|
| имеет время выхода | Время выхода является особым переходом, который не зависит от параметра. Вместо этого он зависит от нормализованного времени состояния. Установите флажок, чтобы переход происходил в конкретный момент, указанный в Время выхода. |
| Настройки | Раскрывающееся меню, содержащее подробные настройки перехода. Каждая настройка перехода описана ниже. |
| Время выхода | Если Имеет время выхода Это значение представляет собой точное время, в которое переход может начаться. Это представлено в нормализованном времени (например, время выхода из 0.75 означает, что на первом кадре, где было проиграно 75% анимации, Время выхода В следующем кадре условие становится false (ложным). Для повторяющихся анимаций переходы с временем выхода меньше 1 оцениваются каждый раз, поэтому вы можете использовать это для того, чтобы время вашего перехода было соответствующим времени в анимации каждый раз. Переходы с Время выхода переходы с значениями больше 1 оцениваются только один раз, так что они могут быть использованы для выхода в определенное время после фиксированного количества циклов. Например, переход с временем выхода 3.5 оцениваются один раз, после трех с половиной циклов. |
| Срочные | Если флажок Fixed Duration установлен, время перехода интерпретируется в секундах. Если флажок Fixed Duration не задан, время перехода трактуется как доля нормализованного времени исходного состояния. |
| Продолжительность перехода | Продолжительность перехода, в нормализованном времени или секундах в зависимости от режима Fixed Duration, относительно длительности текущего состояния. На графике перехода это показано как часть между двумя синими маркерами. |
| Смещение перехода | Смещение времени, с которого начинается воспроизведение в целевом состоянии перехода. Например, значение 0.5 означает, что целевое состояние начинает воспроизводиться с 50% своей временной шкалы. |
| Источник перебоев | Используйте это для управления обстоятельствами, при которых этот переход может быть прерван. Дополнительные сведения см. в Перерыв перехода. |
| Приказ о прекращении | Определяет, может ли текущий переход быть прерван другими переходами независимо от их порядка (см. Перерыв перехода ниже). |
| Условия | Переход может иметь одно условие, несколько условий или вообще не иметь условий. Если ваш переход не имеет условий, Unity Editor рассматривает только Время выхода, и переход происходит, когда достигается время выхода. Если у перехода есть одно или несколько условий, все условия должны быть выполнены, прежде чем будет запущен переход. Условие состоит из:
|
Прерывание переходного периода
Используйте свойства Interruption Source и Ordered Interruption, чтобы управлять тем, как может быть прерван ваш переход. Порядок прерываний работает, концептуально, как если бы переходы были в очереди, а затем анализировались для действительного перехода от первого вставленного перехода до последнего.
Свойство источника
Переходы в AnyState всегда добавляются первыми в очередь, затем другие переходы добавляются в очередь в зависимости от значения Источник прерывания:
| Значение | Функция |
|---|---|
| Нет | Не добавляйте больше переходов. |
| Текущее состояние | Очередь переходов из текущего состояния. |
| Следующее государство | Очередь переходов из следующего состояния. |
| Текущее состояние, затем следующее состояние | Очередь переходов из текущего состояния, затем очередь переходов из следующего состояния. |
| Следующее состояние, затем текущее состояние | Очередь переходов из следующего состояния, затем очередь переходов из текущего состояния. |
Упорядоченные прерывания
Свойство Ordered Interruption изменяет способ анализа очереди. В зависимости от его значения, анализ очереди заканчивается в разные моменты, перечисленные ниже.
| Значение | Кончается, когда |
|---|---|
| Проверено | Был обнаружен действительный переход или текущий переход. |
| Не проверено | Был обнаружен допустимый переход. |
Только переход AnyState может быть прерван сам по себе. Чтобы узнать больше о прерываниях перехода, см. Прерывания перехода машин состояний.
Переходный граф
Используйте график Переход для визуальной настройки параметров перехода.
Белая линия на графике перехода представляет IK контакт ноги для каждого состояния. Верхняя часть графика представляет собой левую ногу, а нижняя часть — правую ногу. Когда белая линия находится в верхней части графика, левая нога контактирует с плоскостью пола. Когда белая линия находится в нижней части графика, правая нога контактирует с плоскостью пола.
Настройте параметры перехода, пока не будет плавного перехода между состояниями. Белая линия с плавным переходом предотвращает скольжение ног, прыжки в анимации и сохраняет динамику движения.
Используйте следующие манипуляции для настройки параметров перехода:
- Перетащите маркер Длительность “out”, чтобы изменить Продолжительность перехода.
- Перетащите маркер Duration “в”, чтобы изменить продолжительность перехода и Время выхода.
- Перетащите целевое состояние, чтобы скорректировать Переходный компенсационный.
- Перетащите маркер воспроизведения предварительного просмотра, чтобы просмотреть смесь анимации в окне предварительного просмотра в нижней части Inspector.
Переходы между состояниями дерева смешения
Если текущее или следующее состояние, к которому относится этот переход, является Blend Tree состояние, параметры Blend Tree отображаются в окне Inspector. Настройте эти значения, чтобы просмотреть, как будет выглядеть ваш переход при различных конфигурациях значений Blend Tree. Если ваше Blend Tree содержит клипы разной длины, вам следует проверить, как будет выглядеть ваш переход при показе как короткого, так и длинного клипа. Настройка этих значений не влияет на поведение перехода во время выполнения; они предназначены только для того, чтобы помочь вам просмотреть, как переход может выглядеть в разных ситуациях.
Условия
Переход может иметь одно условие, несколько условий или отсутствовать вообще. Если у перехода нет условий, Unity Editor рассматривает только Время выхода, и переход происходит, когда достигается время завершения. Если переход имеет одно или несколько условий, все условия должны быть выполнены, прежде чем будет запущен переход.
Условие состоит из:
- Параметр события, значение которого рассматривается в условии.
- Условный предикат, если необходим (например, less или greater для float).
- Значение параметра, если необходимо.
Если вы включили Имеет время выхода для перехода, и у перехода есть одно или несколько условий, Unity проверяет эти условия только после времени выхода из состояния. Так гарантируется, что переход происходит только на определённом участке анимации.
Переходный период