반응형
유니티에서 애니메이션 종료 후 해당 오브젝트를 제거하기 위해
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 컴포넌트를 추가해준다.
반응형
'GAME Dev > Tip' 카테고리의 다른 글
유니티 이미지 스와이프 snap scroll view 구현 (0) | 2023.09.08 |
---|---|
하나의 컨트롤 안에서 두개 이상의 애니메이션 재생 (0) | 2023.09.01 |
유니티 이미지 및 애니메이션 Flip 방법 (2) | 2023.08.27 |
유니티 버튼 클릭 영역 조절하기 (0) | 2023.08.26 |
유니티 애니메이션 Preview, Play 버튼 비활성화 문제 (0) | 2023.08.12 |
댓글