본문 바로가기
GAME Dev/Tip

유니티 애니메이션 종료 시 해당 오브젝트 제거

by 루피캣 2023. 9. 1.
반응형

유니티에서 애니메이션 종료 후 해당 오브젝트를 제거하기 위해

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 컴포넌트를 추가해준다.

반응형
 

Bad Mouse 2

This is amazing Whack a Mole game ★★★★★

badmouse2.netlify.app

댓글