Как предотвратить большое количество переходов в единый конечный автомат?
У меня есть машина состояний единства с четырьмя состояниями: холостой ход влево, холостой ход, холостой ход и холостой ход вправо.
Для перехода между этими состояниями мне нужно было создать 12 переходов. (белые стрелки). Это уже кажется громоздким, но теперь мне нужно добавить еще 4 состояния: вверх, вниз, бег влево и вправо.
Означает ли это, что я получаю 8 состояний и 24 перехода между ними? Это кажется мне очень громоздким. Что делать, если вам нужно что-то изменить позже?
Я знаю, что могу переходить по коду, но это не рекомендуемый способ работы.
animaor.Play("runningright");
Каков будет рекомендуемый способ работы со многими государствами?
1 ответ
Как сказал @Uri Popov, стоит подумать об использовании "Blend Trees". Они там с той же целью. Помощь смешивать несколько похожих анимаций. например, анимация ходьбы и бега похожа в том, что зависит от скорости движения персонажа.
Посмотрите следующие ссылки, чтобы узнать больше о смешанных деревьях. Это только основные, но, безусловно, поможет вам с вашей проблемой.
- Unity - Руководство: Blend Trees
- Blend Trees - Unity Официальные учебные пособия
- Когда использовать дерево смешивания против конечного автомата для анимации (еще один вопрос на gamedev.stackexchange)