유니티 DOTween Documentation 공부하기 #2편

2024.03.14 - [Unity/Study] - 유니티 DOTween Documentation 공부하기 #1편

 

이전 글을 보고 와주세요.

 


Tweener and Sequence settings

다음 설정들은 모든 유형의 트윈에 연결할 수 있습니다. 

Chained settings

  • SetAs(Tween tween , TweenParams tweenParams)
  • SetAutoKill(bool autoKillOnCompletion = true)
  • SetEase(Ease easeType , AnimationCurve animCurve , EaseFunction customEase)
  • SetId(object id)
  • SetInverted()
  • SetLink(GameObject target, LinkBehaviour linkBehaviour = LinkBehaviour.KillOnDestroy)
  • SetLoops(int loops, LoopType loopType = LoopType.Restart)
  • SetRecyclable(bool recyclable)
  • SetRelative(bool isRelative = true)
  • SetTarget(object target)
  • SetUpdate(UpdateType updateType, bool isIndependentUpdate = false) 

예시는 아래와 같습니다.

transform.DOMoveX(4, 1).SetEase(Ease.InOutQuint);
transform.DOMoveX(4, 1).SetEase(myAnimationCurve);
transform.DOMoveX(4, 1).SetEase(MyEaseFunction);

Chained callbacks

  • OnComplete(TweenCallback callback)
  • OnKill(TweenCallback callback)
  • OnPlay(TweenCallback callback)
  • OnPause(TweenCallback callback)
  • OnRewind(TweenCallback callback)
  • OnStart(TweenCallback callback)
  • OnStepComplete(TweenCallback callback)
  • OnUpdate(TweenCallback callback)

예시는 아래와 같습니다.

transform.DOMoveX(4, 1).OnComplete(MyCallback);

 


Controlling a tween

트윈을 조작하는 방법에 3가지가 있습니다.

 

Via static methods and filters

DOTween 클래스에는 트윈을 제어할 수 있는 많은 정적 메서드가 포함되어 있습니다. 

 

예시는 아래와 같습니다.

// Pauses all tweens
DOTween.PauseAll();
// Pauses all tweens that have "badoom" as an id
DOTween.Pause("badoom");
// Pauses all tweens that have someTransform as a target
DOTween.Pause(someTransform);

 


Directly from the tween

트윈에서 직접 정적 메서드를 사용하는 대신 트윈의 참조에서 같은 메서드를 호출할 수 있습니다.

 

예시는 아래와 같습니다.

myTween.Pause();

From a shortcut-enhanced reference

일반 객체 메서드와 구별하기 위한 추가적인 DO 접두사가 있습니다.

 

트윈이 끝난 후에 이러한 메서드를 사용하려면 autoKill 동작을 비활성화해야 합니다. 그렇지 않으면 트윈은 완료 시 자동으로 종료됩니다.

 

예시는 아래와 같습니다.

transform.DOPause();

WaitFor coroutines/Tasks

DOTween은 코루틴과 태스크와 함께 사용할 수도 있습니다.

 

아래는 예시입니다.

IEnumerator SomeCoroutine()
{
  	Tween myTween = transform.DOMoveX(45, 1);
	yield return myTween.WaitForCompletion();
 	//This log will happen after the tween has completed
}