개요
StateMachineBehaviour는 Unity Animator에 직접 붙일 수 있는 스크립트형 컴포넌트로,
해당 상태가 시작, 업데이트, 종료 등에 특정 코드를 실행할 수 있게 해준다.
- 생성하기

- 생성 후

주요 메서드
- OnStateEnter() : 상태에 진입할 때 실행
- OnStateUpdate() : 상태가 활성화되어 있는 동안 매 프레임 실행
- OnStateExit() : 상태가 종료될 때 실행
활용 예시
- 애니메이션이 끝난 뒤 공격 가능 상태로 복귀
- 특정 상태에서 효과음이나 이펙트 재생
- 상태 전환 시 FSM에 콜백 전달
특징
- Animator 상태(State) 하나당 1개 이상의 StateMachineBehaviour를 붙일 수 있음
- animator.GetComponent<T>()로 부모 오브젝트의 스크립트에 접근 가능
정리
- 애니메이터 클립에 AddEvent를 통해 스크립트를 붙일수도 있지만 AddEvent의 경우 이벤트를 놓치는 경우가 종종 생긴다.
- 그래서 다른 방법이 없을까 하고 찾아봤는데 해당 기능을 발견했다.
- 다른건 몰라도 진입, 종료는 정말 확실하게 체크해주는 것 같다.
'Unity > 기능' 카테고리의 다른 글
| [Unity] 전역 using 사용하기 (0) | 2025.06.30 |
|---|---|
| [Unity] BoxCast와 OverlapBox의 차이점 (1) | 2025.06.26 |
| [Unity] 유니티 내장 안개 설정하기 (0) | 2025.06.16 |
| [Unity] Indexof - 배열 내 특정 요소의 위치 찾기 (0) | 2025.05.29 |
| [Unity] eulerAngles와 rotation 차이점 (0) | 2025.05.28 |