조건이 아니라 Has Exit Time이 잡고 있습니다
전환 화살표를 선택하면 Has Exit Time이 보입니다. 켜져 있으면 조건이 맞아도 현재 애니메이션이 끝날 때까지 기다립니다. 즉시 넘어가야 하면 체크를 풀고 Exit Time을 0으로 둡니다.
조건은 참인데 대기 중이라고 찍히면 그게 답입니다.
[Animator] Run -> Jump
HasExitTime: true (waiting 7.50)
Grounded: true (already satisfied)한 번만 되고 다시 안 되면 Trigger 소비입니다
SetTrigger가 첫 번째만 먹는다면 트리거가 소비된 뒤 리셋되지 않았거나, 같은 프레임의 다른 전환이 먼저 가져간 경우입니다. Bool로 잠깐 바꿔 비교하면 두 원인이 갈립니다.
// 트리거가 쌓여서 오히려 꼬이는 형태
if (grounded) anim.SetTrigger("Land");
// 매 프레임 호출은 금지. 상태가 바뀔 때 한 번만Any State와 레이어는 서로 경쟁합니다
Any State 전환이 있으면 상태에서 빠져나가려는 다른 전환과 경쟁합니다. Transition Offset과 Interrupt Source를 확인하고, 레이어를 쓰면 Weight가 0이 아닌지와 마스크가 해당 본을 포함하는지도 봅니다.
상태 머신이 커졌으면 Live View로 실제 경로를 따라가는 게 인스펙터를 뒤지는 것보다 빠릅니다.
검증 범위
공식 문서 대조
검증일
Unity 공식 문서와 본문의 코드·절차를 대조해 공개 준비 상태로 전환했습니다. 별도 Unity 프로젝트나 실기기에서 직접 재현한 결과는 아니며, 특정 버전·기기 문의가 들어오면 해당 환경에서 후속 확인합니다.
확인한 공식 문서애니메이터 상태 전환 ↗