CurveTween 문서

기능 목록

Fade(페이드)

오브젝트의 투명도(Alpha)를 애니메이션합니다.

• 지원 컴포넌트
• 사용 예시

Move(이동)

Transform의 위치를 애니메이션합니다.

• 사용 예시

Scale(확대/축소)

Transform의 스케일을 애니메이션합니다.

• 사용 예시

Rotate(회전)

Transform의 회전을 애니메이션합니다.

• 사용 예시

Color(컬러)

Color 값을 애니메이션합니다.

• 지원 컴포넌트
• 사용 예시

Text(UI Text/TextMeshPro)

타이핑 효과의 텍스트 애니메이션을 제공합니다.

• 사용 예시

RichText (TextMeshPro)

리치 텍스트를 지원하며, 타이핑 스타일 애니메이션, 회전 애니메이션, 글꼴 크기 확대·축소 애니메이션을 제공합니다.(GC 부하가 높기 때문에 성능에 주의해야 합니다.)

• 사용 예시

Light

Unity Light 컴포넌트의 다양한 속성을 애니메이션합니다.

• 지원 속성
• 사용 예시

FillAmount

Image 컴포넌트의 fillAmount 값을 애니메이션하는 기능입니다. 게이지, 쿨다운, 원형 로딩 등 UI 표현에 사용할 수 있습니다.

• 대상
• 사용 예시

IntInterpolate / FloatInterpolate

Text / TextMeshPro의 숫자 값을 보간하여 애니메이션으로 표시하는 기능입니다. 카운트업, 데미지 숫자, 점수 연출 등에 적합합니다.

• 대상
• 사용 예시

TMPMeshExplodeInAnimation

TextMeshPro의 정점 데이터를 직접 조작하여 각 문자를 개별적으로 폭발시키는 애니메이션입니다. 속도, 방향, 확산 정도, 랜덤성 등을 세밀하게 제어할 수 있어 화려한 연출에 적합합니다.

• 대상
• 사용 예시
• 사용 예시

TMPMeshRevealAnimation

TextMeshPro의 정점을 직접 조작하여 다음과 같은 복합적인 문자 연출을 구현하는 애니메이션입니다: Fade(투명도), 문자 스케일, 회전, 이동, 웨이브 변형, 바운스 변형. 타자기 효과부터 역동적인 문자 애니메이션까지 폭넓게 지원합니다.

• 대상
• 사용 예시
• 사용 예시

PathCurveAnimation

여러 포인트로 구성된 커브(경로)를 따라 오브젝트를 이동시키는 애니메이션 기능입니다.

• 사용 예시

API 참고 문서

DoCanvasFade

CanvasGroup의 alpha 값을 애니메이션하기 위한 유틸리티 메서드입니다.

ITweenPlayer DoCanvasFade(this GameObject target, float forwardValue = 0, bool blocksraycasts = false, float duration = 1);

ITweenPlayer DoCanvasFade(this GameObject target, AnimationCurve curve, float forwardValue = 0, bool blocksraycasts = false);

ITweenPlayer DoCanvasFade(this MonoBehaviour target, float forwardValue = 0, bool blocksraycasts = false, float duration = 1);

ITweenPlayer DoCanvasFade(this MonoBehaviour target, AnimationCurve curve, float forwardValue = 0, bool blocksraycasts = false);

ITweenPlayer DoCanvasFade(this CanvasGroup target, float forwardValue = 0, bool blocksraycasts = false, float duration = 1);

ITweenPlayer DoCanvasFade(this CanvasGroup target, AnimationCurve curve, float forwardValue = 0, bool blocksraycasts = false);

• 파라미터

DoFade

대상 오브젝트의 alpha 값을 애니메이션하기 위한 유틸리티 메서드입니다.

ITweenPlayer DoFade(this Material target, float forwardValue = 0, float duration = 1);

ITweenPlayer DoFade(this Renderer target, float forwardValue = 0, float duration = 1);

ITweenPlayer DoFade(this Graphic target, float forwardValue = 0, float duration = 1);

ITweenPlayer DoFade(this Renderer target, AnimationCurve curve, float forwardValue = 0);

ITweenPlayer DoFade(this Graphic target, AnimationCurve curve, float forwardValue = 0);

ITweenPlayer DoFade(this Material target, AnimationCurve curve, float forwardValue = 0);

• 파라미터

DoColor

대상 오브젝트의 Color 값을 애니메이션하기 위한 유틸리티 메서드입니다。

ITweenPlayer DoColor(this Graphic target, Color forwardValue, float duration = 1);

ITweenPlayer DoColor(this Graphic target, Color forwardValue, AnimationCurve curve);

ITweenPlayer DoColor(this Renderer target, Color forwardValue, float duration = 1);

ITweenPlayer DoColor(this Renderer target, Color forwardValue, AnimationCurve curve);

ITweenPlayer DoColor(this Material target, Color forwardValue, float duration = 1);

ITweenPlayer DoColor(this Material target, Color forwardValue, AnimationCurve curve);

• 파라미터

DoFillAmount

DoFillAmount는 UnityEngine.UI.Image의 fillAmount 값을 부드럽게 애니메이션하기 위한 확장 메서드입니다。

ITweenPlayer DoFillAmount(this Image target, float forwardValue = 0, float duration = 1);

ITweenPlayer DoFillAmount(this Image target, AnimationCurve curve, float forwardValue = 0);

• 파라미터

DoLight / DoIntensity / DoRange

Light 컴포넌트의 color, intensity, range 값을 애니메이션하기 위한 유틸리티 메서드입니다.

ITweenPlayer DoColor(this Light target, Color color, float duration = 1);

ITweenPlayer DoColor(this Light target, Color color, AnimationCurve curve);

ITweenPlayer DoIntensity(this Light target, float intensity, float duration = 1);

ITweenPlayer DoIntensity(this Light target, float intensity, AnimationCurve curve);

ITweenPlayer DoRange(this Light target, float range, float duration = 1);

ITweenPlayer DoRange(this Light target, float range, AnimationCurve curve);

ITweenPlayer DoLight(this Light target, bool colortween = false, Color color = default, bool intensitytween = false, float intensity = 0, bool rangetween = false, float range = 0, float duration = 1);

ITweenPlayer DoLight(this Light target, AnimationCurve curve, bool colortween = false, Color color = default, bool intensitytween = false, float intensity = 0, bool rangetween = false, float range = 0);

• 파라미터

DoInterpolate

Text / TextMeshPro의 숫자 값을 보간하여 애니메이션으로 표시하기 위한 유틸리티 메서드입니다.

ITweenPlayer DoInterpolate(this Text target, int forwardValue, float duration = 1);

ITweenPlayer DoInterpolate(this Text target, int forwardValue, AnimationCurve curve);

ITweenPlayer DoInterpolate(this Text target, float forwardValue, float duration = 1);

ITweenPlayer DoInterpolate(this Text target, float forwardValue, AnimationCurve curve);

ITweenPlayer DoInterpolate(this TMP_Text target, float forwardValue, float duration = 1);

ITweenPlayer DoInterpolate(this TMP_Text target, float forwardValue, AnimationCurve curve);

ITweenPlayer DoInterpolate(this TMP_Text target, int forwardValue, float duration = 1);

ITweenPlayer DoInterpolate(this TMP_Text target, int forwardValue, AnimationCurve curve);

• 파라미터

DoMove / DoMove(X/Y/Z)

대상 오브젝트의 이동을 애니메이션하기 위한 유틸리티 메서드입니다.

ITweenPlayer DoMoveX(this GameObject target, float x, float duration = 1);

ITweenPlayer DoMoveX(this GameObject target, float x, AnimationCurve curve);

ITweenPlayer DoMoveY(this GameObject target, float y, float duration = 1);

ITweenPlayer DoMoveY(this GameObject target, float y, AnimationCurve curve);

ITweenPlayer DoMoveZ(this GameObject target, float z, float duration = 1);

ITweenPlayer DoMoveZ(this GameObject target, float z, AnimationCurve curve);

ITweenPlayer DoMove(this GameObject target, Vector3 forwardValue, float duration = 1, bool relative = false);

ITweenPlayer DoMove(this GameObject target, Vector3 forwardValue, AnimationCurve curve, bool relative = false);

ITweenPlayer DoMoveX<T>(this T target, float x, float duration = 1) where T : Component;

ITweenPlayer DoMoveX<T>(this T target, float x, AnimationCurve curve) where T : Component;

ITweenPlayer DoMoveY<T>(this T target, float y, float duration = 1) where T : Component;

ITweenPlayer DoMoveY<T>(this T target, float y, AnimationCurve curve) where T : Component;

ITweenPlayer DoMoveZ<T>(this T target, float z, float duration = 1) where T : Component;

ITweenPlayer DoMoveZ<T>(this T target, float z, AnimationCurve curve) where T : Component;

ITweenPlayer DoMove<T>(this T target, Vector3 forwardValue, float duration = 1, bool relative = false) where T : Component;

ITweenPlayer DoMove<T>(this T target, Vector3 forwardValue, AnimationCurve curve, bool relative = false) where T : Component;

• 파라미터

DoRotation / DoRotation(X/Y/Z)

대상 오브젝트의 회전을 애니메이션하기 위한 유틸리티 메서드입니다.

ITweenPlayer DoRotationX(this GameObject target, float x, float duration = 1);

ITweenPlayer DoRotationX(this GameObject target, float x, AnimationCurve curve);

ITweenPlayer DoRotationY(this GameObject target, float y, float duration = 1);

ITweenPlayer DoRotationY(this GameObject target, float y, AnimationCurve curve);

ITweenPlayer DoRotationZ(this GameObject target, float z, float duration = 1);

ITweenPlayer DoRotationZ(this GameObject target, float z, AnimationCurve curve);

ITweenPlayer DoRotation(this GameObject target, Vector3 forwardValue, float duration = 1, bool relative = false);

ITweenPlayer DoRotation(this GameObject target, Vector3 forwardValue, AnimationCurve curve, bool relative = false);

ITweenPlayer DoRotationX<T>(this T target, float x, float duration = 1) where T : Component;

ITweenPlayer DoRotationX<T>(this T target, float x, AnimationCurve curve) where T : Component;

ITweenPlayer DoRotationY<T>(this T target, float y, float duration = 1) where T : Component;

ITweenPlayer DoRotationY<T>(this T target, float y, AnimationCurve curve) where T : Component;

ITweenPlayer DoRotationZ<T>(this T target, float z, float duration = 1) where T : Component;

ITweenPlayer DoRotationZ<T>(this T target, float z, AnimationCurve curve) where T : Component;

ITweenPlayer DoRotation<T>(this T target, Vector3 forwardValue, float duration = 1, bool relative = false) where T : Component;

ITweenPlayer DoRotation<T>(this T target, Vector3 forwardValue, AnimationCurve curve, bool relative = false) where T : Component;

• 파라미터

DoScale / DoScale(X/Y/Z)

대상 오브젝트의 크기(스케일)를 애니메이션하기 위한 유틸리티 메서드입니다.

ITweenPlayer DoScaleX(this GameObject target, float x, float duration = 1);

ITweenPlayer DoScaleX(this GameObject target, float x, AnimationCurve curve);

ITweenPlayer DoScaleY(this GameObject target, float y, float duration = 1);

ITweenPlayer DoScaleY(this GameObject target, float y, AnimationCurve curve);

ITweenPlayer DoScaleZ(this GameObject target, float z, float duration = 1);

ITweenPlayer DoScaleZ(this GameObject target, float z, AnimationCurve curve);

ITweenPlayer DoScale(this GameObject target, Vector3 forwardValue, float duration = 1, bool relative = false);

ITweenPlayer DoScale(this GameObject target, Vector3 forwardValue, AnimationCurve curve, bool relative = false);

ITweenPlayer DoScaleX<T>(this T target, float x, float duration = 1) where T : Component;

ITweenPlayer DoScaleX<T>(this T target, float x, AnimationCurve curve) where T : Component;

ITweenPlayer DoScaleY<T>(this T target, float y, float duration = 1) where T : Component;

ITweenPlayer DoScaleY<T>(this T target, float y, AnimationCurve curve) where T : Component;

ITweenPlayer DoScaleZ<T>(this T target, float z, float duration = 1) where T : Component;

ITweenPlayer DoScaleZ<T>(this T target, float z, AnimationCurve curve) where T : Component;

ITweenPlayer DoScale<T>(this T target, Vector3 forwardValue, float duration = 1, bool relative = false) where T : Component;

ITweenPlayer DoScale<T>(this T target, Vector3 forwardValue, AnimationCurve curve, bool relative = false) where T : Component;

• 파라미터

DoReveal

텍스트를 한 글자씩 표시하는 타자기 스타일 애니메이션을 실행하는 유틸리티 메서드입니다.

ITweenPlayer DoReveal(this Text target, string text = null, float duration = 1);

ITweenPlayer DoReveal(this Text target, AnimationCurve curve, string text = null);

ITweenPlayer DoReveal(this TMP_Text target, string text = null, float duration = 1);

ITweenPlayer DoReveal(this TMP_Text target, AnimationCurve curve, string text = null);

• 파라미터

DoRichTextReveal

리치 텍스트를 지원하는 타자기 스타일 애니메이션을 실행하는 유틸리티 메서드입니다.

IRichTextPlayer DoRichTextReveal(this TMP_Text target, string text = null, float duration = 1);

IRichTextPlayer DoRichTextReveal(this TMP_Text target, AnimationCurve curve, string text = null);

• 파라미터

DoRichTextRotateTween

리치 텍스트를 지원하며, TextMeshPro 문자에 회전 애니메이션을 적용합니다.

IRichTextPlayer DoRichTextRotateTween(this TMP_Text target, float rotate, string text = null, float duration = 1);

IRichTextPlayer DoRichTextRotateTween(this TMP_Text target, AnimationCurve curve, float rotate, string text = null);

• 파라미터

DoRichTextSizeTween

TextMeshPro의 폰트 크기를 애니메이션으로 변경하는 기능입니다.

IRichTextPlayer DoRichTextSizeTween(this TMP_Text target, float fontsize, string text = null, float duration = 1);

IRichTextPlayer DoRichTextSizeTween(this TMP_Text target, AnimationCurve curve, float fontsize, string text = null);

• 파라미터

DoRichTextTween

리치 텍스트를 지원하며, 타자기 애니메이션·회전·폰트 크기 변화를 동시에 실행할 수 있는 복합 텍스트 애니메이션 기능입니다.

IRichTextPlayer DoRichTextTween(this TMP_Text target, bool reveal = true, string text = null, bool sizetween = false, float fontsize = 0, bool rotatetween = false, float rotate = 0, float duration = 1);

IRichTextPlayer DoRichTextTween(this TMP_Text target, AnimationCurve curve, bool reveal = true, string text = null, bool sizetween = false, float fontsize = 0, bool rotatetween = false, float rotate = 0);

• 파라미터

DoMeshExplodeIn

TextMeshPro의 정점 데이터를 직접 조작하여 각 문자가 개별적으로 바깥쪽으로 “폭발”하듯 튀어나가는 애니메이션을 생성하는 유틸리티 메서드입니다.

IExplodeInPlayer DoMeshExplodeIn(this TMP_Text target, string text = null, float explosionPower = 200, bool fadeOut = true, float fadedelay = 0, bool rotate = true, float rotateMin = 50, float rotateMax = 500, bool useFloatiness = true, float factorMin = 0.02F, float factorMax = 0.15F, float duration = 1);

IExplodeInPlayer DoMeshExplodeIn(this TMP_Text target, AnimationCurve curve, string text = null, float explosionPower = 200, bool fadeOut = true, float fadedelay = 0, bool rotate = true, float rotateMin = 50, float rotateMax = 500, bool useFloatiness = true, float factorMin = 0.02F, float factorMax = 0.15F);

• 매개변수

DoMeshExplodeInFadeOut

TextMeshPro의 정점 데이터를 직접 조작하여 문자를 독립된 메쉬로 폭발시키면서 동시에 페이드아웃시키는 애니메이션을 구현하는 유틸리티 메서드입니다.

IExplodeInPlayer DoMeshExplodeInFadeOut(this TMP_Text target, string text = null, float explosionPower = 200, float delay = 0, float duration = 1);

IExplodeInPlayer DoMeshExplodeInFadeOut(this TMP_Text target, AnimationCurve curve, string text = null, float explosionPower = 200, float delay = 0);

• 매개변수

DoMeshExplodeInFloatinessFadeOut

TextMeshPro의 정점 데이터를 직접 조작하여 문자를 부드럽게 떠다니는 듯한 움직임과 함께 사방으로 흩어지게 하고, 동시에 페이드아웃시키는 애니메이션을 구현하는 유틸리티 메서드입니다.

IExplodeInPlayer DoMeshExplodeInFloatinessFadeOut(this TMP_Text target, string text = null, float explosionPower = 200, float fadedelay = 0, float factorMin = 0.02F, float factorMax = 0.15F, float duration = 1);

IExplodeInPlayer DoMeshExplodeInFloatinessFadeOut(this TMP_Text target, AnimationCurve curve, string text = null, float explosionPower = 200, float fadedelay = 0, float factorMin = 0.02F, float factorMax = 0.15F);

• 매개변수

DoMeshExplodeInRotateFadeOut

TextMeshPro의 정점 데이터를 직접 조작하여 문자를 개별적으로 회전시키면서 폭발적으로 흩어지게 하고, 동시에 페이드아웃시키는 애니메이션을 구현하는 유틸리티 메서드입니다.

IExplodeInPlayer DoMeshExplodeInRotateFadeOut(this TMP_Text target, string text = null, float explosionPower = 200, float fadedelay = 0, float rotateMin = 50, float rotateMax = 500, float duration = 1);

IExplodeInPlayer DoMeshExplodeInRotateFadeOut(this TMP_Text target, AnimationCurve curve, string text = null, float explosionPower = 200, float fadedelay = 0, float rotateMin = 50, float rotateMax = 500);

• 매개변수

DoMeshReveal

TextMeshPro의 정점을 직접 조작하여 Fade / Scale / Move / Rotate / Wave / Bounce 등 복합적인 문자 연출을 구현하는 애니메이션 유틸리티 메서드입니다.

IRevealPlayer DoMeshReveal(this TMP_Text target, bool reveal = true, string text = null, bool fadetween = false, float alpha = 1, bool postween = false, Vector3 distance = default, bool scaletween = false, float scale = 1, bool rotatetween = false, Vector3 rotate = default, WaveType wavetype = WaveType.None, float frequency = 0, float duration = 1);

IRevealPlayer DoMeshReveal(this TMP_Text target, AnimationCurve curve, bool reveal = true, string text = null, bool fadetween = false, float alpha = 1, bool postween = false, Vector3 distance = default, bool scaletween = false, float scale = 1, bool rotatetween = false, Vector3 rotate = default, WaveType wavetype = WaveType.None, float frequency = 0);

• 매개변수

DoMeshFadeReveal

TextMeshPro의 정점을 직접 조작하여 Fade + Reveal을 중심으로 한 복합적인 문자 연출을 수행하는 유틸리티 메서드입니다.

IRevealPlayer DoMeshFadeReveal(this TMP_Text target, float alpha = 0, bool reveal = true, string text = null, float duration = 1);

IRevealPlayer DoMeshFadeReveal(this TMP_Text target, AnimationCurve curve, float alpha = 0, bool reveal = true, string text = null);

• 매개변수

DoMeshMoveReveal / DoMeshMove(X/Y/Z)Reveal

TextMeshPro의 버텍스를 직접 조작하여 Move(이동) + Reveal을 중심으로 Wave / Bounce 등의 동작을 조합한 애니메이션을 구현하는 유틸리티 메서드입니다.

IRevealPlayer DoMeshMoveReveal(this TMP_Text target, Vector3 distance, WaveType wavetype = WaveType.None, float frequency = 0, bool reveal = true, string text = null, float duration = 1);

IRevealPlayer DoMeshMoveReveal(this TMP_Text target, Vector3 distance, AnimationCurve curve, WaveType wavetype = WaveType.None, float frequency = 0, bool reveal = true, string text = null);

IRevealPlayer DoMeshMoveXReveal(this TMP_Text target, float x, WaveType wavetype = WaveType.None, float frequency = 0, bool reveal = true, string text = null, float duration = 1);

IRevealPlayer DoMeshMoveXReveal(this TMP_Text target, float x, AnimationCurve curve, WaveType wavetype = WaveType.None, float frequency = 0, bool reveal = true, string text = null);

IRevealPlayer DoMeshMoveYReveal(this TMP_Text target, float y, WaveType wavetype = WaveType.None, float frequency = 0, bool reveal = true, string text = null, float duration = 1);

IRevealPlayer DoMeshMoveYReveal(this TMP_Text target, float y, AnimationCurve curve, WaveType wavetype = WaveType.None, float frequency = 0, bool reveal = true, string text = null);

IRevealPlayer DoMeshMoveZReveal(this TMP_Text target, float z, WaveType wavetype = WaveType.None, float frequency = 0, bool reveal = true, string text = null, float duration = 1);

IRevealPlayer DoMeshMoveZReveal(this TMP_Text target, float z, AnimationCurve curve, WaveType wavetype = WaveType.None, float frequency = 0, bool reveal = true, string text = null);

• 파라미터

DoMeshRotateReveal / DoMeshRotate(X/Y/Z)Reveal

TextMeshPro의 버텍스를 직접 조작하여 Rotate(회전) + Reveal을 중심으로 한 애니메이션을 구현하는 유틸리티 메서드입니다.

IRevealPlayer DoMeshRotateReveal(this TMP_Text target, Vector3 rotate, bool reveal = true, string text = null, float duration = 1);

IRevealPlayer DoMeshRotateReveal(this TMP_Text target, Vector3 rotate, AnimationCurve curve, bool reveal = true, string text = null);

IRevealPlayer DoMeshRotateXReveal(this TMP_Text target, float x, bool reveal = true, string text = null, float duration = 1);

IRevealPlayer DoMeshRotateXReveal(this TMP_Text target, float x, AnimationCurve curve, bool reveal = true, string text = null);

IRevealPlayer DoMeshRotateYReveal(this TMP_Text target, float y, AnimationCurve curve, bool reveal = true, string text = null);

IRevealPlayer DoMeshRotateYReveal(this TMP_Text target, float y, bool reveal = true, string text = null, float duration = 1);

IRevealPlayer DoMeshRotateZReveal(this TMP_Text target, float z, bool reveal = true, string text = null, float duration = 1);

IRevealPlayer DoMeshRotateZReveal(this TMP_Text target, float z, AnimationCurve curve, bool reveal = true, string text = null);

• 파라미터

DoMeshScaleReveal

TextMeshPro의 버텍스를 직접 조작하여 Scale(확대/축소) + Reveal을 중심으로 한 애니메이션을 구현하는 유틸리티 메서드입니다。

IRevealPlayer DoMeshScaleReveal(this TMP_Text target, AnimationCurve curve, float scale = 0, bool reveal = true, string text = null);

IRevealPlayer DoMeshScaleReveal(this TMP_Text target, float scale = 0, bool reveal = true, string text = null, float duration = 1);

• 파라미터

Path Settings

여러 포인트로 구성된 커브(경로)를 따라 오브젝트를 이동시키는 애니메이션 기능입니다.

IPathPlayer SetClosed(bool closed);

• 파라미터

IPathPlayer SetLookMode(PathLookMode lookmode);

• 파라미터

IPathPlayer SetPoints(List vectors);

IPathPlayer SetTarget(Transform target);

IPathPlayer SetUseLocalPosition(bool uselocal);

• 파라미터

IPathPlayer SnapTargetToFirstPoint();

CurveTween Settings

iTweenPlayer SetDelay(float delay);

iTweenPlayer SetDuration(float duration);

iTweenPlayer SetEase(EaseType easeType);

iTweenPlayer SetLoop(bool loop);

iTweenPlayer SetLoopCount(int loopCount);

iTweenPlayer SetLoopDelay(bool loopDelay);

iTweenPlayer SetLoopType(LoopType loopType);

• 파라미터

iTweenPlayer SetScaledTime(bool scaledtime);

iTweenPlayer SetYoYoDelay(float yoYoDelay);

iTweenPlayer SetValue(object value);

Play / Stop

void Play();

void Play(bool reversePlay);

• 파라미터

void PlayOnce();

void PlayReverseOnce();

void Stop();

void ForceEnd(bool invokeCallback);

• 파라미터

void StopAndReset();

Event Callbacks

iTweenPlayer AddOnStartListener(UnityAction call);

iTweenPlayer AddOnYoYoListener(UnityAction call);

iTweenPlayer AddOnCompleteListener(UnityAction call);

GetAnimationCurve

지정한 EaseType에 따라 Keyframe 배열 형태의 애니메이션 커브를 생성하여 반환합니다.

Keyframe[] CurveTweenUtility.GetAnimationCurve(EaseType easeType);