Unity itween插件的使用法法整理

網上有多個不同版本的Itween插件使用方法,但各個地方講解的比較分散,所以在這裏統一進行整理。

一、 iTween的使用原理

iTween的核心是數值插值,簡單說就是給iTween兩個數值(開始值,結束值),它會自動生成一些中間值,例如:開始值-> 中間值 -> 中間值 …. -> 結束值。
這裏的數值可以理解爲: 數字,座標點,角度,物體大小,物體顏色,音量大小等。


二、iTween的使用方式

iTween可以從各個地方獲取到,但最正規的方式是從Unity asset store中直接搜索下載(免費)。iTween的主要文件有兩個iTween.cs 和 iTweenPath.unitypackage(編輯路徑才需要這個包)。


三、核心方法

iTween.MoveTo(): 讓模型移動到一個位置,它的底層函數是通過動態的修改模型每一幀的transform.position完成的,所以它會百分之百到達目標點,不會出現誤差。
iTween.MoveFrom():它和上面的一樣,iTween.MoveTo()是將模型移動到目標位置,而iTween.MoveFrom()是將模型從目標位置移動到原始位置。
iTween.MoveAdd() 和iTween.MoveBy()底層實現一樣,大家可以去看源碼。處理移動時採用的是transform.Translate也就是API的平移,這樣在處理移動的時候可能會出現一些誤差,但是效果好點。
iTween.MoveUpdate():和iTween.MoveTo()差不多,只是它需要放在循環或者Update()中。


四、詳細內容

API:

後綴名區別 ***From 當前值立即變成目標值,並逐漸緩動成最初值
***To 從當前值逐漸緩動成目標值
***Update 同To,但是在使用Update函數時會令人難以置信的提高性能,或類似循環的情況下涉及“live”設置改變值。不在使用EaseType
3大事件 onstart 動畫開始觸發事件
onstarttarget 事件通過消息加載將發送給的對象
onstartparams 發送消息時傳遞的參數
onupdate 動畫中觸發事件
onupdatetarget 事件通過消息加載將發送給的對象
onupdateparams 發送消息時傳遞的參數
oncomplete 動畫結束觸發事件
oncompletetarget 事件通過消息加載將發送給的對象
oncompleteparams 發送消息時傳遞的參數
公共屬性 name 根據獨立的名字用於停止iTweens
ignoretimescale 設置爲true將會允許動畫繼續當前的時間,這個在遊戲通過設置Time.timeScale=0之後暫停遊戲後的菜單動畫很有用
easetype 動畫運動曲線枚舉
looptype 循環方式枚舉
time 動畫完成時間
delay 開始動畫之前等待的時間
From-To方法 AudioFrom 音頻和音量
AudioTo
AudioUpdate
CameraFadeFrom 攝像機漸隱的數量(透明度)
CameraFadeTo
ColorFrom 顏色
ColorTo
ColorUpdate
FadeFrom 遊戲對象的alpha值;如果附加的組件是light,guitext或guitexture,將會是變成動畫的目標
FadeTo
FadeUpdate
LookFrom 隨着時間旋轉一個遊戲對象監視着提供的Transform或Vector3
LookTo
LookUpdate
MoveFrom 移動:隨着時間改變遊戲對象的位置到提供的目標點
MoveTo
MoveUpdate
MoveAdd 移動增量Vector3
MoveBy
RotateFrom 旋轉:隨着時間在角度上旋轉游戲對象到提供的歐拉角角度
RotateTo
RotateUpdate
RotateAdd 旋轉增量Vector3
RotateBy 旋轉增量Vector3*360
ScaleFrom 縮放:隨着時間改變物體的縮放
ScaleTo
ScaleUpdate
ScaleAdd 縮放增量Vector3,原來的縮放+Vector3
ScaleBy 縮放倍數Vector3,原來的縮放*Vector3
攝像機 CameraFadeAdd 創建一個遊戲對象(如果不存在)在提供的深度,用於模擬攝像機的褪色
CameraFadeDepth 改變攝像機褪色的深度
CameraFadeDestroy 移除和銷燬一個攝像機的褪色
CameraFadeSwap 改變攝像機褪色的紋理
CameraTexture 使用CameraFade創建並返還一個全屏的Texture2D
動畫控制 Hash 創建哈希表
Init 設置遊戲對象當一個初始化被添加時避免停頓
Pause 暫停itween
Resume 從新開始iTween
Stop 停止iTweens
StopByName 根據名字停止iTweens
其他方法 ValueTo 正如應用程序期望的返回一個在提供的”from”和”to”之間的插值給回調方法.需要”onupdate”回調
Count 返回iTweens的整數量
EaseType 緩動類型
LoopType 循環的枚舉類型
Stab 基於提供的音量,音頻,和任何跟隨的延遲來播放音頻剪輯.音頻源是可選的,因爲iTween將會提供一個
用於調式 DrawLine 當調用OnDrawGizmos()函數時,他會通過提供的Vector3或Transforms數組畫一條線
DrawLineGizmos 使用Gizmos.DrawLine()通過提供的Vector3s或Transforms數組畫一條線
DrawLineHandles 利用Handles.Drawline()通過提供的Vector3s或Transforms數組畫一條線。
DrawPath 當調用OnDrawGizmos()時,他會通過Vector3或Transforms數組繪製一個曲線路徑
DrawPathGizmos 使用Gizmos.DrawLine()通過Vector3s或Transforms數組繪製一個曲線路徑
DrawPathHandles 利用Handles.DrawLine()通過提供的Vector3s或Transforms繪製一個曲線路徑
震動 PunchPosition 使用一個震動的力量給遊戲對象的位置使他晃動到他的原始位置
PunchRotation 使用一個震動的力量給遊戲對象的旋轉使他晃動到他的原始旋轉
PunchScale 使用一個震動的力量給遊戲對象的縮放使他晃動到他的原始縮放
ShakePosition 隨着時間通過一個遞減數量隨機的震動遊戲對象的位置
ShakeRotation 隨着時間通過一個遞減數量隨機的震動遊戲對象的旋轉
ShakeScale 隨着時間通過一個遞減數量隨機的震動遊戲對象的縮放
路徑 PathLength 返回通過Vector3或Transforms數組繪製的曲線路徑的長度
PutOnPath 根據提供的百分比放置遊戲對象的路徑
PointOnPath 根據提供的百分比返回一個路徑上的Vector3位置
差值運算 FloatUpdate 根據提供的速度返回一個float緩動在當前和目標值之間;speed=1表示單位時間內達到終點
RectUpdate 通過提供的加速度返回一個用於緩衝當前和目標值之間的一個矩形;speed=1表示單位時間內達到終點
Vector2Update 通過提供的加速度返回一個用於緩衝當前和目標值之間的一個Vector2;speed=1表示單位時間內達到終點
Vector3Update 通過提供的加速度返回一個用於緩衝當前和目標值之間的一個Vector3;speed=1表示單位時間內

動畫方式枚舉:( http://www.robertpenner.com/easing/easing_demo.html     
   平方

  • easeInQuad
  • easeOutQuad
  • easeInOutQuad
    立方
  • easeInCubic
  • easeOutCubic
  • easeInOutCubic
    4次方
  • easeInQuart
  • easeOutQuart
  • easeInOutQuart
    5次方
  • easeInQuint
  • easeOutQuint
  • easeInOutQuint
    正弦
  • easeInSine
  • easeOutSine
  • easeInOutSine
    2的10次方
  • easeInExpo
  • easeOutExpo
  • easeInOutExpo
    平方根
  • easeInCirc
  • easeOutCirc
  • easeInOutCirc
    線性
  • linear
    彈簧
  • spring
    反彈
  • easeInBounce
  • easeOutBounce
  • easeInOutBounce
    後退
  • easeInBack
  • easeOutBack
  • easeInOutBack     
鬆緊帶
  • easeInElastic
  • easeOutElastic
  • easeInOutElastic
動畫曲線:
    easyIn:淡入
    easyOut:淡出
    easyInOut:淡入淡出


循環類型: none(一次性的不循環),loop(單向循環,就是到達終點後馬上回到起點,再繼續),pingpong(往復循環)


五、路徑配置

1. 將iTweenPath.cs拖至某個遊戲對象上, 這個遊戲對象的就會多出如下屬性,下圖表示路徑由5個節點組成, 路徑名稱爲myPath。


2. 可以手工填寫節點座標,也可以在場景中調整節點座標。




代碼可以參考官方示例,本文就不進行介紹了。


參考文檔:

http://www.xuanyusong.com/archives/2052

http://blog.csdn.net/chaixinke/article/details/44628123

http://www.manew.com/1683.html


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章