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