[Unity] DOTween

Flaming Bun·2025년 7월 11일

Unity

목록 보기
28/39

참고 사이트 : https://m.blog.naver.com/i_am_gamer/223284183141

🔥 DOTween

DOTween은 Unity 엔진에서 많이 사용하는 강력하고 직관적인 트위닝(Tweening) 에셋이다.

트위닝은 "오브젝트를 어떤 값을 시간에 따라 부드럽게 변화시키는 것"을 의미한다.

쉽게 말해, 움직임이나 색상, 투명도, 크기, 각도 등의 변화를 자연스럽게 애니메이션처럼 만들어주는 에셋이다.


DOTween의 주요 특징

  • 간단한 문법: 짧고 직관적인 코드로 다양한 트위닝 효과를 줄 수 있다.

  • 최적화: 내부적으로 최적화 기법을 사용해서 일반적인 애니메이션, Transform 관련 함수보다 향상된 성능을 갖는다.

  • 다양한 기능: 시퀀스, 콜백, 루프, 이징 등 다양한 기능을 제공합니다.

⚔ 예시

using DG.Tweening;

// 1초 동안 위치를 (3, 0, 0)으로 이동
transform.DOMove(new Vector3(3, 0, 0), 1f);

// 0.5초 동안 투명도를 0으로
GetComponent<SpriteRenderer>().DOFade(0, 0.5f);

// 2초 동안 스케일을 두 배로
transform.DOScale(2f, 2f);


DO 함수

  • DOMove : 위치 이동

  • DOScale : 크기 변화

  • DORotate : 회전

  • DOFade : 투명도 변화

  • DOColor : 색상 변화



Set 함수

  • SetEase : 트윈의 속도 곡선(Easing)을 설정

  • SetLoops : 트윈 반복 횟수 및 방식(루프 타입)을 설정

  • SetDelay : 트윈 시작 전 대기 시간(Delay)을 설정

  • SetRelative : 트윈이 목표값을 "상대적"으로 적용하도록 설정 (기존 위치/크기/값에서 상대적으로 변화)

  • SetId : 트윈에 ID를 부여해서 나중에 중지·제어할 때 식별 용도로 사용

  • SetUpdate : 트윈의 업데이트 방식을 설정 (일반, Fixed, Late 등)

  • SetAutoKill : 트윈이 끝난 뒤 자동으로 메모리에서 제거할지 여부 설정

  • SetTarget : 트윈의 타겟 오브젝트를 명시적으로 설정 (나중에 특정 오브젝트의 트윈만 Kill 하고 싶을 때)



On 함수

  • OnStart : 트윈이 시작할 때 한 번 호출

  • OnUpdate : 트윈이 업데이트될 때(프레임마다)마다 호출

  • OnComplete : 트윈이 끝났을 때 한 번 호출

  • OnKill : 트윈을 강제로 종료될 때 호출

  • OnStepComplete : 트윈이 한 번 루프를 완료할 때마다 호출



Tweener

모든 Tween은 Tweener 타입으로 반환된다.



Sequence

여러 개의 Tween(트윈, 애니메이션)을 하나의 "Sequence"로 묶어서 복잡한 애니메이션을 쉽게 만들 수 있도록 도와주는 기능이다.

Append, Join, Insert 등을 통해 트윈을 조합할 수 있다.

  • DOTween.Sequence : 새로운 Sequence를 만든다.

  • Apeend : 순차적으로 실행할 때 사용한다. (이전 Tween이 끝난 뒤 다음 Tween 실행)

  • Join : 동시에 실행 (이전 Tween과 같은 타이밍에 실행된다.)

  • Insert : 원하는 타이밍에 Tween 삽입 (시퀀스의 특정 시점에 트윈 추가 가능)

  • Prepend : 맨 앞에 트윈 삽입

0개의 댓글