DoTween

댓글 0
댓글을 작성하려면 로그인이 필요합니다.
아직 댓글이 없습니다. 첫 번째 댓글을 작성해보세요!

댓글을 작성하려면 로그인이 필요합니다.
아직 댓글이 없습니다. 첫 번째 댓글을 작성해보세요!
DOTween은 값이 시작점에서 목표점까지 자연스럽게 변하도록 만들어 주는 Unity용 애니메이션 라이브러리입니다. Unity 기본 기능은 아니며 별도로 설치합니다. Update()나 코루틴을 직접 작성하지 않고도 UI 이동, 확대, 페이드 등을 간단하게 구현할 수 있습니다.
→ 유니티의 Update, Coroutine, Time.deltaTime, Lerp을 대신해서 쓴다고 생각하면 됨
| 기능 | 대표 메서드 | 용도 |
|---|---|---|
| 위치 이동 | DOMove, DOAnchorPos | 오브젝트·UI 이동 |
| 크기 변경 | DOScale | 팝업 확대·축소 |
| 회전 | DORotate | 아이콘 회전 |
| 투명도 | DOFade | UI 페이드 인·아웃 |
| 움직임 곡선 | SetEase | 부드럽거나 튕기는 움직임 |
| 반복 | SetLoops | 무한 회전, 깜빡임 |
| 완료 처리 | OnComplete | 애니메이션 종료 후 실행 |
| 순차 실행 | Sequence | 여러 애니메이션 조합 |
사용하려면 스크립트 위에 네임스페이스를 추가합니다.
using DG.Tweening;
UI 패널을 중앙으로 이동시키는 예시입니다.
panel.DOAnchorPos(Vector2.zero, 0.4f).SetEase(Ease.OutCubic);
Canvas Group을 이용한 페이드 인은 다음처럼 작성합니다.
canvasGroup.DOFade(1f, 0.3f).OnComplete(() => Debug.Log("표시 완료"));
여러 효과를 조합할 때는 Sequence를 사용합니다.
Sequence sequence = DOTween.Sequence();
sequence.Append(canvasGroup.DOFade(1f, 0.3f));
sequence.Join(panel.DOScale(1f, 0.3f));
sequence.AppendInterval(1f);
sequence.Append(canvasGroup.DOFade(0f, 0.3f));
Append: 앞 애니메이션이 끝난 뒤 실행Join: 앞 애니메이션과 동시에 실행일시정지 중에도 UI 애니메이션이 작동해야 한다면 SetUpdate(true)를 사용합니다. 또한 대상 오브젝트가 사라질 때 Tween도 정리되도록 SetLink(gameObject)를 붙이는 것이 안전합니다.
panel.DOScale(1f, 0.3f)
.SetUpdate(true)
.SetLink(gameObject);
단순하고 동적인 UI 연출은 DOTween, 복잡하게 제작된 캐릭터·컷신 애니메이션은 Animator가 적합합니다.
XR을 활용한 게임 개발 3기(유니티) 수강생입니다. 곧 수료 하지만 앞으로 이곳에 가끔 저의 개발 경험이 나 지식 기록할까 합니다. 더 나아가 이 사이트가 제 개인위키의 역할을 할 수 있으면 좋겠습니다. 한국 게임 시장을 흔들겠습니다

게임 광고 수익은 단순히 광고를 붙이는 것이 아니라, 여러 광고 네트워크를 경쟁시켜 가장 높은 수익을 만드는 구조입니다.

안녕하세요. 플밍 4기 입니다. 게임 개발을 배우기 전 네트워크 엔지니어 도메인에서 익히고 배웠던 네트워크 이론에 대한 기초 입니다. 학습에 도움이 되길 바라며 공유 드립니다.
XR을 활용한 게임 개발 3기(유니티) 수강생입니다. 곧 수료 하지만 앞으로 이곳에 가끔 저의 개발 경험이 나 지식 기록할까 합니다. 더 나아가 이 사이트가 제 개인위키의 역할을 할 수 있으면 좋겠습니다. 한국 게임 시장을 흔들겠습니다



게임 광고 수익은 단순히 광고를 붙이는 것이 아니라, 여러 광고 네트워크를 경쟁시켜 가장 높은 수익을 만드는 구조입니다.


안녕하세요. 플밍 4기 입니다. 게임 개발을 배우기 전 네트워크 엔지니어 도메인에서 익히고 배웠던 네트워크 이론에 대한 기초 입니다. 학습에 도움이 되길 바라며 공유 드립니다.