iTween插件使用


itween插件

itween是一個動畫庫,作者創建它的目的就是最小的投入實現最大的產出。用它可以輕松實現各種動畫,晃動,旋轉,移動、褪色、上色、控制音頻等。

iTween原理:

itween的核心是數值差值,就是給Itween兩個數值(開始值,結束值),它會自動生成一些中間值,只需要定義開始和結束值,中間的過程itween就會自動幫我們設置完成。這里的數值可以理解為數字,坐標點,角度,物體大小,物體顏色,音量大小等。

iTween應用:

(1)在項目中建立Plugins目錄,然后將下載的ITween.cs放到Plugins目錄即可。

(2)如果需要編輯路徑,可以導入ITweenPath.Unitypackage資源包。

iTween介紹:

iTween的公共操作接口均以靜態方法的形式提供,可分為三大類:

1.靜態注冊方法:提供注冊動畫效果的靜態方法接口有12種

動畫方法8種:Fade、 Look、Move、Rotate、Scale、Punch、Shake、CameraFade

音頻方法2種:Audio、Stab

顏色變化方法1種:Color

值變化方法1種:ValueTo

每種動畫又有一種或多種執行方式(To、From、Add、By)

(1)MoveTo:從原位置移動到目標位置

(2)MoveFrom:從目標位置移動到原位置

(3)MoveAdd:隨時間移動游戲對象的位置,根據提供的量

(4)MoveBy:增加提供的坐標到游戲對象的位置,與MoveAdd一樣

注:每種方法一般有兩種重載方式,最小定制選項和完全定制選項。

最小定制選項:只需提供最小必需參數

完全定制選項:可定制所有參數

2.Update靜態方法

提供每幀改變屬性值的環境。在Update或FixedUpdate方法或類似於循環的環境中調用。

如:MoveUpdate、AudioUpdate等。

3.外部工具方法:包括動畫控制、路徑繪制等。

動畫控制有:Pause暫停、Resume恢復、Stop停止並銷毀iTween。

繪制方法有:

  1. DrawLine:繪制線條,使用Gizmos.DrawLine
  2. DrawLineGizmos:與DrawLine相同
  3. DrawLineHandles:使用UnityEditor.Handles.DrawLine
  4. DrawPath:繪制彎曲路徑
  5. DrawPathGizmos:與DrawPath相同
  6. DrawPathHandles:使用UnityEditor.Handles.DrawLine

注:繪制方法只能在OnDrawGizmos()和OnDrawGizmosSelected()中調用,用於在Scene視圖中繪制線條和路徑。

其他方法有:

  1. Count:返回iTween的數量
  2. PathLength:返回了路徑的長度
  3. PutOnPath:根據提供的百分比將游戲物體置於所提供的路徑上
  4. PointOnPath:返回路徑上指定百分比處的Vector3

iTween方法:

(1)游戲物體的顏色變化方法

Color:根據組建的存在與否,該值將被應用於目標對象的GUITexture組件或GUIText組件或renderer組件或light組件。

ColorTo:從原始顏色漸變到目標顏色

ColorFrom:從給定的顏色漸變會原始顏色

ColorUpdate:類似於ColorTo,在Update方法或類似循環的環境中調用,提供每幀改變屬性值的環境,不依賴於EaseType。

nameValueColor:當效果是應用在renderer(渲染器)組件上時,此參數確定具體應用到哪個已經命名顏色值上。

Includechildren:效果是否應用於子對象,默認true

(2)游戲對象淡入淡出方法

FadeTo:從當前透明度漸變到目標透明度,內部調用ColorTo

FadeFrom:從給定透明度漸變到原始透明度,內部調用ColorFrom

FadeUpdate:類似於FadeTo,內部調用ColorUpdate

alpha和amount參數均為最終透明度,amount優先於alpha。內部實現是僅改變color.a的值,再調用對應的Color方法

(3)攝像機淡入淡出方法

CameraFadeTo:透明度從當前值漸變到指定值,取值0—1,0完全透明,1完全不透明

CameraFadeFrom:從給定的透明度漸變到原始值

CameraFadeAdd:創建一個用於模擬攝像機的淡入淡出的游戲對象,需要在注冊淡入淡出效果之前調用該方法

CameraTexture:創建並返回一個全屏的Texture2D,用於攝像機的淡入淡出。該Texture2D作為CameraFadeAdd()的參數

CameraFadeDepth:改變攝像機的淡入淡出深度,CameraFadeAdd()所創建的對象的z軸值

CameraFadeSwap:重設淡入單純效果所使用的紋理CameraFadeAdd所創建的對象的guiTexture.texture

CameraFadeDestroy:刪除攝像機的淡入淡出效果,銷毀CameraFedeAdd所創建的對象

(4)音頻變化方法

AudioTo:漸變AudioSource的音量和音調到目標值

AudioFrom:將AudioSource的音量和音調從給定的值漸變到原始值

AudioUpdate:類似於AudioTo,

音頻播放方法Stab,播放AudioClip一次,不用手動加載AudioSource組件

(5)Look類方法

LookTo:旋轉游戲對象使其面朝指定的Transform或Vector3

LookFrom:使游戲對象從提供的方向旋轉回原來所面朝的方向

LookUpdate:類似於LookTo

注:游戲對象的正面指的是游戲對象的Z軸方向,也就是使游戲對象的Z軸指向目標點

(6)旋轉方法

Look類方法是基於目標點的旋轉,Rotate類方法是基於角度的旋轉

RotateTo:旋轉游戲物體到指定的歐拉角角度

RotateFrom:將游戲物體從給的歐拉角角度旋轉回原始角度

RotateAdd:對游戲物體的旋轉角度隨着時間增加所提供的歐拉角(Vector3三個值解析:X,Y,Z各代表圍繞哪個軸轉動。其轉動的角度就是X,Y,Z的值的大小,amount:歐拉角大小)

RotateBy:將提供的值乘以360,其余與RotateAdd一樣,也就是提供的值為每個軸上旋轉的周數。

RotateUpdate:類似於RotateTo。

(7)物體大小縮放

ScaleTo:改變游戲對象的比例大小到我們提供的值

SclaeFrom:將物體的大小從我們提供的值變化到原來的大小

ScaleAdd:增加游戲物體的大小

ScaleBy:成倍地改變物體的大小,Amount參數為各軸上的倍數

ScaleUpdate:類似於ScaleTo

(8)晃動效果方法

PunchPosition:對物體的位置添加一個搖晃的力,使其搖晃最終歸於原來的位置,其晃動大小和方向由提供的amount(Vector3)決定

PunchRotation:對物體的旋轉添加一個搖晃的力,使其旋轉最終歸於初始值。其旋轉角度大小和方向由提供的Vector3決定,建議用單軸而不是整個Vector3,例如(0,1,0)是繞Y軸旋轉,角度大小由Vector3Y軸值大小決定

PunchScale:對物體的大小比例添加一個搖晃的力,使其大小比例最終歸於初始值。其大小比例變化方向和大小由提供的Vector3決定,例如(0,1,0)是在Y軸方向對物體大小變化(變化物體的高),大小由Vector3Y軸值大小決定

(9)衰減晃動效果方法

ShakePosition:根據提供的amount衰減其職隨機搖動游戲物體的位置,其晃動大小和方向由提供的amount(Vector3)決定(方向根據Vector3隨機,晃動大小,由各個方向的值的大小決定)

ShakeRotation:根據提供的amount衰減其值隨機擺動旋轉游戲物體的角度。

ShakeScale:根據提供的amount衰減其值隨機擺動改變游戲物體的大小。其大小比例變化方向和大小有提供的Vector3決定。

(10)值方法

ValueTo:返回一個“from”和“to”之間的插值,以調用“onupdate”回調函數。“onupdate”回調是必需的,且它接收一個與“from”和“to”相同類型的參數。支持的值類型:float、double、Vector3、Vector2、Color、Rect。

在Update()中調用的值方法:FloatUpdate、Vector3Update、Vector2Update、RectUpdate。這些方法返回一個在提供的兩個值之間的插值,大小變化根據提供的速度。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM