[참고]
HOTween이라고 생겼다고 하네... iTween 보다 성능이 좋다고???
iTween이란?
오픈소스 기반으로 C# 코드로 작성됨
Unity 에서 객체의 애니메이션, 이동 등 Tweening을 쉽게 해주는 역할
iTween 영상으로 이해하기
iTween Path(iTween Visual Editor) 영상으로 이해하기
iTween Visual Editor의 Package를 다운 받으면 iTween Visual Editor와 iTween Path가 함께 있음
iTween Visual Editor Demonstration - Visual Editor
Visual editor for iTween motion - iTween Path
iTween ( & Path) 설치 및 사용해 보기
iTween 사용 환경 만들기
Asset Store 접속 : Window >> Asset Store
"iTween" Download / or "iTween Visual Editor"를 다운로드 하면 iTween Path까지 가능해 짐
여기서는 iTween Visual Editor를 다운로드 할 수 있도록 함(iTween 기능이 포함됨)
iTween Test해보기
iTweenTest.cs 파일을 만든다.
iTween을 적용할 GameObject를 만든다.
iTweenTest 파일을 만든 GameObject에 (Component로) 넣는다.
아래 실습 결과물의 iTweenTest.cs 파일의 내용을 복사해서 하나씩 테스트 해 본다.
iTween Path 테스트해보기
카메라 오브젝트에 생성할 Path들을 만들어 논다.
iTweenTest에 만들어진 Path를 불러 들여 적용해 본다. (iTweenTest.cs에 소스 있음)
실습 결과물 : iTweenPath.zip
[참고 ]
iTween에서 제공하는 "easytype"
http://www.robertpenner.com/easing/ 에서 위의 여러 애니메이션을 확인할 수 있음
Equations Visualizer를 선택하면 flash로 제작된 데모를 확인할 수 있음
enum EaseType{
easeInQuad,
easeOutQuad,
easeInOutQuad,
easeInCubic,
easeOutCubic,
easeInOutCubic,
easeInQuart,
easeOutQuart,
easeInOutQuart,
easeInQuint,
easeOutQuint,
easeInOutQuint,
easeInSine,
easeOutSine,
easeInOutSine,
easeInExpo,
easeOutExpo,
easeInOutExpo,
easeInCirc,
easeOutCirc,
easeInOutCirc,
linear,
spring,
bounce,
easeInBack,
easeOutBack,
easeInOutBack,
elastic,
punch
}
C#에서의 iTween 사용법
iTween 지원 함수 및 Document - http://itween.pixelplacement.com/index.php
일반적으로 두가지 형태의 함수 오버라이딩을 제공하고 있음
기본 폼 : MoveTo(GameObject target, Vector3 position, float time)
3개의 매개 변수를 필요로 함
target : 기술된 스크립트를 가지고 있는 오브젝트
position : Vector3 형의 좌표 값
time : 총 걸리는 시간(움직이는 데)
HashTable 이용한 폼 : MoveTo(GameObject target, Hashtable args)
3개의 기본 매개 변수 이외의 input 값들을 열거하고자 할 경우 사용됨
예 1>
Hashtable tweenHash = new Hashtable();
tweenHash.Add("x", -5);
tweenHash.Add("y", 5);
tweenHash.Add("time", 10);
iTween.MoveAdd(gameObject, tweenHash);
예 2>
iTween.MoveAdd(gameObject,new Hashtable(){{"x",-5},{"y",5},{"time",10}});
예 3>
iTween.MoveAdd(gameObject,iTween.Hash("x",-5,"y",5,"time",10));
예 4> : 'iT'을 사용해서 코딩하는 것이 보다 빠른 속도를 보장 한다고 함(이유:직접적인 맴버 변수의 접근이 가능해서)
Hashtable tweenHash = new Hashtable();
tweenHash.Add(iT.MoveAdd.x, -5);
tweenHash.Add(iT.MoveAdd.y, 5);
tweenHash.Add(iT.MoveAdd.time, 10);
iTween.MoveAdd(gameObject, tweenHash);
예 5>
iTween.MoveAdd(gameObject,new Hashtable(){{iT.MoveAdd.x,-5},{iT.MoveAdd.y,5},{iT.MoveAdd.time,10}});
예 6>
iTween.MoveAdd(gameObject,iTween.Hash(iT.MoveAdd.x,-5,iT.MoveAdd.y,5,iT.MoveAdd.time,10));
기타 iTween
iTween 공식 사이트 내의 정보 정리( http://itween.pixelplacement.com/index.php)
Getting Started
Native iTween support for C#
iTween.Move(gameObject, iTween.Hash("position", newPosition, "time", time, "delay", delay);
공개 버전의 iTween은 이런 형태로 소스를 사용했었는데...
gameObject.MoveTo(newPosistion, time, delay);
Native iTween은 gameObject에 MoveTo와 같이 iTween에서 제공되는 기능들을 재정의 함으로써, 마치 Unity3D에서 제공되는 함수인양 사용할 수 있게 해줌(그 만큼 편할까? 5달러 내야 함)
Documentation
iTween 에서 제공되는 기본 함수들에 대한 설명들 (예> iTween.AudioFrom(gameObject....)
AudioFrom
AudioTo
AudioUpdate
CameraFadeAdd
CameraFadeDepth
CameraFadeDestroy
CameraFadeSwap
CameraFadeFrom
CameraFadeTo
CameraTexture
ColorFrom
ColorTo
ColorUpdate
Count
DrawLine
DrawLineGizmos
DrawLineHandles
DrawPath
DrawPathGizmos
DrawPathHandles
PathLength
EaseType
FadeFrom
FadeTo
FadeUpdate
FloatUpdate
Hash
Init
LookFrom
LookTo
LookUpdate
LoopType
MoveAdd
MoveBy
MoveFrom
MoveTo
MoveUpdate
Pause
PunchPosition
PunchRotation
PunchScale
PutOnPath
PointOnPath
RectUpdate
Resume
RotateAdd
RotateBy
RotateFrom
RotateTo
RotateUpdate
ScaleAdd
ScaleBy
ScaleFrom
ScaleTo
ScaleUpdate
ShakePosition
ShakeRotation
ShakeScale
Stab
Stop
StopByName
ValueTo
Vector2Update
Vector3Update
iTween Example
iTween으로 만들 수 있는 것들의 샘플들이 있음(샘플을 실행시킬 수는 있으나 프로젝트 소스는 구입해야 함)