Dotween

Dotween은 유니티에서 사용할 수 있는 애니메이션 asset이다.

사용법

using DG.Tweening;

상황마다 다르겠지만, 이번 프로젝트에서는 대부분 Domove만 쓰거나, sequence를 이용해 오브젝트를 이동시켰다.

아래의 코드는 예시 상황이다.

public class test : MonoBehaviour
{
    [SerializeField] GameObject chick;
    [SerializeField] GameObject color;
    [SerializeField] Text text;
    
    public void MoveChick() //position만 움직이는 함수
    {
        Vector2 movePos = new Vector2(Random.Range(-200,200),Random.Range(-200,200));
        chick.transform.DOMove(movePos,2);
    }

    public void ChangeColor() // 색을 바꾸는 함수
    {
        var col = new Color(Random.value,Random.value,Random.value);
        color.transform.GetComponent<SpriteRenderer>().DOColor(col,0.5f);
    }

    public void ChopText() // 텍스트를 타이핑하는 함수
    {
        string hi = "안녕하세요 저는 Cheondi입니다.";
        text.GetComponent<Text>().DOText(hi,3f);
    }

    public void SequenceDo() //sequence
    {
        Vector2 movePos = new Vector2(Random.Range(-200,200),Random.Range(-200,200));
        string hi = "Unity Developer Cheondi";
        if(text.text==hi)
        {
            hi = "안녕하세요 저는 Cheondi입니다.";
        }
        var col = new Color(Random.value,Random.value,Random.value);
        Sequence sequence = DOTween.Sequence()
            .Append(chick.transform.DOScale(new Vector2(Random.Range(0.1f,3.0f),Random.Range(0.1f,3.0f)),1.0f).SetEase(Ease.InOutQuad))// append1
            .Join(chick.transform.DOMove(movePos,1.0f).SetEase(Ease.Flash)) //join
            .Append(color.transform.GetComponent<SpriteRenderer>().DOColor(col,1f)) // append2
            .OnComplete(()=>{text.GetComponent<Text>().DOText(hi,3f);}); //oncom

    }
}



MoveChick



ChangeColor



ChopText



Sequence



Sequence만 조금 설명하면, 기본적으로

  • 추가(Append)
  • 삽입(Insert)
  • 결합(Join)
  • 접두(Prepend)

콜백 함수로는

  • AppendCallback
  • InsertCallback
  • PrependCallback
  • OnStart
  • OnComplete
    위의 예시를 아래 사진의 그래프로 나타낼 수 있다.


위의 그래프와 같이 진행된다.
밑의 링크를 들어가면 더욱 많은 함수를 확인할 수 있다.

[Documents] http://dotween.demigiant.com/documentation.php