반응형
Animation.Play
즉시 전환 (Immediate Switching)
현재 프레임에서 기존 애니메이션을 완전히 중단
새로운 애니메이션의 첫 번째 프레임부터 시작
메모리에서 이전 애니메이션 상태를 바로 제거
CPU 오버헤드가 최소화됨
animation.Play("Run");
장점: 정확한 타이밍 제어, 성능 효율적, 메모리 사용량 적음
단점: 갑작스러운 포즈 변화로 인한 부자연스러운 움직임
Animation.Play() 적합한 상황
UI 애니메이션 (버튼 클릭, 메뉴 전환)
즉각적인 반응이 필요한 액션 (총 발사, 점프 시작)
성능이 중요한 모바일 게임
애니메이션 간 연관성이 낮은 경우
Animation.CrossFade
블렌딩 기반 전환 (Blending-based Transition)
두 애니메이션을 동시에 재생하면서 가중치(Weight)를 조절
시간에 따라 이전 애니메이션의 가중치는 감소, 새 애니메이션의 가중치는 증가
보간(Interpolation)을 통해 부드러운 전환 효과 생성
animation.CrossFade("Walk", 0.2f);
장점 : 자연스럽고 부드러운 전환
단점 : 약간의 CPU 오버헤드, 타이밍 제어는 Play보다 느슨함
Animation.CrossFade() 적합한 상황
캐릭터 이동 상태 전환 (걷기 ↔ 뛰기)
감정 표현 애니메이션 (웃음 → 슬픔)
시네마틱 시퀀스
시각적 품질이 중요한 PC/콘솔 게임
다른 애니메이션 전환 기법들
01 Animation.Stop()
animation.Stop(); // 모든 애니메이션 중단
animation.Play("NewAnim"); // 새 애니메이션 재생
02 Animation.Rewind()
animation.Rewind("Jump"); // 애니메이션을 처음으로 되돌림
animation.Play("Jump"); // 처음부터 재생
03 PlayMode를 이용한 세밀한 제어
// 현재 시간을 유지하면서 전환
animation.Play("Walk", PlayMode.StopSameLayer);
// 큐에 애니메이션 추가 (현재 애니메이션 완료 후 재생)
animation.PlayQueued("Attack", QueueMode.CompleteOthers);
반응형
'유니티 공부 > Unity' 카테고리의 다른 글
Unity - Behavior Designer 무한 루프 문제 해결 방법 (0) | 2025.07.08 |
---|---|
Unity - 행동트리(Behavior Tree) +) Behavior designer 에셋 (1) | 2025.07.07 |
Unity - Unity에서 도형을 그려보자(패턴 기반이동, 스킬범위 시각화 ) (0) | 2025.06.30 |
Unity - 커스텀 에디터(Custom Editor) +) 전처리기(Preprocessor) (1) | 2025.06.11 |
Unity - Unity에서 수학 개념을 이해해보자 2편 - 행렬,동차 좌표계,TRS, 아크 탄젠트 (0) | 2025.06.09 |
댓글