반응형
Unity에서 애니메이션 즉시 정지 및 실행하는 방법
Unity에서 실행 중인 애니메이션을 중지하고 새로운 애니메이션을 즉시 실행하는 방법에 대해 정리해 보겠습니다.
1. Play()를 사용하여 즉시 실행
Animator.Play() 메서드를 사용하면 현재 실행 중인 애니메이션을 강제로 중단하고 지정한 애니메이션을 즉시 실행할 수 있습니다.
Animator animator;
void Start()
{
animator = GetComponent<Animator>();
}
void Update()
{
if (Input.GetKeyDown(KeyCode.Space)) // 스페이스 키를 누르면
{
animator.Play("NewAnimation", 0, 0f); // 애니메이션을 처음부터 실행
}
}
- "NewAnimation": 실행할 애니메이션의 이름
- 0: 애니메이션이 실행될 레이어
- 0f: 애니메이션을 처음부터 실행
2. CrossFade()를 사용하여 부드러운 전환
애니메이션을 갑자기 변경하면 부자연스러울 수 있으므로, CrossFade()를 사용하면 부드럽게 전환할 수 있습니다.
animator.CrossFade("NewAnimation", 0.1f);
- 0.1f: 0.1초 동안 부드럽게 전환
3. StopPlayback()을 사용하여 애니메이션 즉시 정지
현재 실행 중인 애니메이션을 정지하고 기본 애니메이션으로 변경하고 싶다면 StopPlayback()을 사용할 수 있습니다.
animator.StopPlayback();
animator.Play("Idle");
- "Idle": 정지 후 실행할 기본 애니메이션
4. speed 값을 조정하여 애니메이션 일시 정지
애니메이션을 멈추고 싶을 때 Animator.speed 값을 0으로 설정하면 일시 정지됩니다.
animator.speed = 0f; // 애니메이션 정지
animator.speed = 1f; // 다시 재생
정리
방법 설명
Play("NewAnimation", 0, 0f); | 애니메이션을 즉시 실행 |
CrossFade("NewAnimation", 0.1f); | 부드러운 전환 |
StopPlayback(); | 현재 애니메이션 즉시 정지 |
speed = 0f; | 애니메이션 일시 정지 |
Unity에서 애니메이션을 제어하는 다양한 방법을 활용하여 원하는 동작을 구현해 보세요! 😊
728x90
반응형
'프로그램 코딩 > 유니티(Unity3d)' 카테고리의 다른 글
[Unity3d] 프리팹 덮어쓰기(엎어치기) 방법 정리 (0) | 2025.02.15 |
---|---|
[Unity3d] public 변수에 설명(툴팁) 추가하는 방법 (0) | 2025.02.15 |
[Unity3d] 애니메이션 종료 시점 처리하는 방법 (0) | 2025.02.09 |
[Unity3D] 2D 프로젝트 메인 카메라 & 캔버스 설정 (0) | 2025.02.09 |