Unity에서 자주 사용하는 트윈(tween) 라이브러리이다. 트윈이란 오브젝트의 시간당 변화를 부드럽게 하는 애니메이션 기법이다. 이를 활용하여 오브젝트의 위치, 회전, 크기, 색상 등을 자연스럽게 변화시킬 수 있다.
DOTween은 기본적으로 무료로 사용 가능하지만 pro 버전이 존재하고 pro버전은 유로이다. (코드로 DOTween을 활용할 수 있으면 무료버전으로 충분하다)
다운로드 : https://assetstore.unity.com/packages/tools/animation/dotween-hotween-v2-27676
나는 DOTween을 활용해서 UI에 애니메이션을 넣어 게임의 디테일을 살려볼 예정이다.
간단하게 스크립트에서 namespace를 추가해주면 사용 가능하다.
using DG.Tweening;
이제 DOTween을 활용해서 UI를 만들어보자.
[예시] : DOTween을 활용한 메뉴창 구현
using DG.Tweening; using UnityEngine; public class UIHUD : MonoBehaviour { [SerializeField] private GameObject objMenu; private bool isMove = false; public void OnMenu() { if (!isMove) { isMove = true; if (!objMenu.activeSelf) { objMenu.SetActive(true); objMenu.transform.DOLocalMoveY(objMenu.transform.localPosition.y - 500f, 0.5f).SetEase(Ease.OutCubic).OnComplete(() => { isMove = false; }); } else { objMenu.transform.DOLocalMoveY(objMenu.transform.localPosition.y + 500f, 0.5f).SetEase(Ease.OutCubic).OnComplete(() => { objMenu.SetActive(false); isMove = false; }); } } } }
위 코드를 간단하게 설명하면 objMenu를 DoLocalMoveY() 함수를 활용하여 현재 위치에서 0.5초 동안 500만큼 내리는데, SetEase() 함수에 매개변수로 enum 타입의 Ease.OutCubic을 넣어 빠르게 시작해서 점차 느려지면서 끝나는 형태의 애니메이션을 만든다.
이 뿐만이 아니라 DOTween은 활용도가 엄청 높으므로 사용할 일이 있으면 공식 문서에 들어가서 공부해보자!