GAME Dev/Tip
유니티 애니메이션 종료 시 해당 오브젝트 제거
루피캣
2023. 9. 1. 16:32
반응형
유니티에서 애니메이션 종료 후 해당 오브젝트를 제거하기 위해
StateMachineBehaviour를 사용한다.
DieBehavior 스크립트를 만들고
using UnityEngine;
public class DieBehavior : StateMachineBehaviour
{
// OnStateEnter is called when a transition starts and the state machine starts to evaluate this state
override public void OnStateEnter(Animator animator, AnimatorStateInfo stateInfo, int layerIndex)
{
Destroy(animator.gameObject);
}
}
bomShow 애니메이션 후 애니메이션이 포함된 gameObject를 제거함.
빈 애니메이션 State(Die)를 하나 만들고 연결해 준다.
Has Exit Time 체크
Exit Time는 BombShow 애니메이션이 모두 실행 된 후인 1
BosbShow 인스펙터 창에는 별도 설정이 필요 없고
Die 인스펙터 차에서 앞서 만들어둔 Die Behavior 스크립트 컴포넌트를 추가한다.
애니메이션 종료 시
OnStateEnter 함수가 자동 호출되어
Destroy(animator.gameObject); 코드가 실행되어
게임오브젝트를 제거한다.
OnStateExit 함수를 오버라이드한다면 BombSHow State에 DieBehavior 컴포넌트를 추가해준다.
반응형