이번에 UI를 제작하면서 DoTween을 처음으로 사용해봐서 내용을 정리해보려 한다.
DoTween은 애니메이션을 구현하기위한 라이브러리로 오브젝트의 위치, 회전, 색상 등을 시간을 통해 변화시키는 기능을 제공한다.
애니메이션의 속도 곡선을 정의해 자연스러운 속도 연출이 가능함
** DoTween을 사용하기 위해서는 먼저 패키지 매니저에서 DoTween을 설치한 후 using DG.Tweening을 추가해야한다.
using DG.Tweening;
using UnityEngine;
public class Example : MonoBehaviour
{
void Start()
{
// 1. 오브젝트를 (3, 2, 1) 위치로 2초 동안 이동
transform.DOMove(new Vector3(3, 2, 1), 2f);
// 2. 오브젝트를 3초 동안 90도 회전
transform.DORotate(new Vector3(0, 90, 0), 3f);
// 3. UI 요소의 색상을 1초 동안 빨간색으로 변경
GetComponent<Image>().DOColor(Color.red, 1f);
// 4. 체인 애니메이션 예제
Sequence sequence = DOTween.Sequence();
sequence.Append(transform.DOMoveX(5, 1f))
.Append(transform.DORotate(new Vector3(0, 180, 0), 1f))
.Join(transform.DOScale(new Vector3(2, 2, 2), 1f));
}
}
위와 같은 방법을 사용하면 애니메이터를 사용하지 않고도 다양한 애니메이션 연출이 가능하다.
현재는 간단한 이동과 투명도를 조절하는 것에만 사용해봤지만 더 복잡한 애니메이션의 구현이 가능한지는 고민해봐야할 것 같다.