BlendTrees에서 이러한 유형의 문제를 해결할 수 있습니다 (일반적으로 블렌드 트리에 의존하는 것이 현명한 아이디어입니다). 블렌드 트리는 (float) 매개 변수를 기반으로 포함 된 애니메이션 중 현재 활성화 될 애니메이션을 결정하는 다중 애니메이션 상태의 일종입니다 (또는 결과 애니메이션이 여러 애니메이션의 혼합 일 수 있음). 애니메이션이 블렌딩되지 않고 스왑 된 경우에도 스왑은 애니메이션 중반에 발생합니다 (예 : "종료"애니메이션이 35 % 인 경우 새 애니메이션은 35 % 앞으로 재생 됨). "외부"에서이 모든 것이 하나의 단순 / 단일 상태 인 것처럼 숨겨집니다.
예를 들어 8 개의 스프라이트 애니메이션이있는 블렌드 트리가 있습니다 (4 개의 주 방향과 4 개의 대각선 방향의 유휴). 이 블렌드 트리에는 "수평"과 "수직"의 두 매개 변수가 있습니다. 그리고이 두 매개 변수를 기반으로 블렌드 트리는 재생할 애니메이션을 결정합니다. "수평"매개 변수를 기반으로 블렌드 트리는 왼쪽 / 오른쪽 애니메이션 중에서 선택하고 "수직"매개 변수는 위 / 아래 애니메이션을 결정합니다. 그런 다음 결합하면 대각선이있는 8 개의 애니메이션이 모두 나타납니다 (조이패드 / 조이스틱 뒤에있는 동일한 아이디어입니다).
약간 혼동되기 때문에 StackExchange가 링크를 좋아하지 않더라도 짧은 예제 비디오를 링크 하겠습니다. 화면의 오른쪽 상단을 확인하십시오. 회색 점은 "상태"/ 애니메이션이며 활성 점은 빨간색 점에 가까운 것입니다. 처음에 말했듯이, 각 애니메이션은 빨간 점까지의 거리를 기반으로 영향 / 강도를 갖는 것이 훨씬 복잡하고 여러 애니메이션 사이의 혼합을 초래할 수 있습니다.
외부에서 단 하나의 상태 (블렌드 트리)와 같은 개념의 도보 및 공격을 적용하면 3 개의 상태 만 연결됩니다.
블렌드 트리는 빈 애니메이터 영역 Create State-> From New Blend Tree를 마우스 오른쪽 버튼으로 클릭하여 생성됩니다. 거기에서 모든 것이 인스펙터에 있습니다. 블렌드 트리를 선택한 상태에서 블렌드 트리의 유형 (1D, 2D 등)을 선택하고 애니메이션을 추가하고 위치를 지정하고 (매개 변수 값에 상대적으로) 제어 매개 변수를 선택할 수 있습니다.
Blend Trees에 대한 자세한 정보는 Unity- Unite 2016 및 Unity Tutorials의 비디오 입니다.