Вы можете решить этот тип проблемы с помощью BlendTrees (в общем, мудрая идея часто полагаться на смешанные деревья). Смешанное дерево является своего рода мульти-анимационным состоянием, которое на основе параметра (параметров) (float) решает, какая из анимаций в нем содержится, чтобы быть активными в данный момент (или, в качестве альтернативы, результирующая анимация может быть смесью нескольких анимаций). Даже когда анимации не смешаны, а поменяны местами, перестановка происходит в середине анимации (то есть, если анимация «выхода» составляет 35%, новая воспроизводится с 35% вперед). С внешней стороны все это скрыто, как будто это одно простое / единичное состояние.
Например, у вас есть смешанное дерево с 8 спрайтовыми анимациями (простаивает с 4 основными и 4 диагональными направлениями). В этом дереве смешивания есть 2 параметра - «горизонтальный» и «вертикальный». И на основе этих двух параметров дерево смешивания решит, какую анимацию воспроизводить. Основываясь на «горизонтальном» параметре, дерево смешивания будет выбирать между левой / правой анимацией, а «вертикальный» параметр будет определять анимацию сверху / снизу. Затем при объединении вы получите все 8 анимаций с диагоналями (это та же идея, что и за джойстиками / джойстиками).
Это немного сбивает с толку, поэтому, даже если StackExchange не любит ссылки, я приведу короткий пример видео, которое я сделал. Обратите внимание на верхнюю правую часть экрана. Серые точки - это «состояния» / анимации, а активными являются те, которые закрываются красной точкой. Как было сказано в начале, это может быть еще более сложным, и каждая анимация может иметь влияние / силу в зависимости от ее расстояния до красной точки, что приводит к смешению нескольких анимаций.
Снаружи это только одно состояние (дерево смешения), и когда вы применяете одну и ту же концепцию для ходьбы и атаки, у вас будет только 3 связанных состояния.
Деревья смешивания создаются с помощью щелчка правой кнопкой мыши на пустой области аниматора Создать состояние -> Из нового дерева смешивания. Оттуда все в Инспекторе. Выбрав дерево смешивания, вы можете выбрать тип дерева смешивания (1D, 2D и т. Д.), Добавить анимацию, расположить их (относительно значений параметров) и выбрать управляющие параметры.
Если вам нужна дополнительная информация о Blend Trees, то ниже приведены видео с Unity - Unite 2016 и учебники Unity .