Unity iTween插件详解

iTween是一个动画库,作者创建它的目的就是最小的投入实现最大的产出.让你做开发更轻松,用它可以轻松实现各种动画,晃动,旋转,移动,褪色,上色,控制音频等等 到官网看看 http://itween.pixelplacement.com

主要文件有iTween.cs http://code.google.com/p/itween/downloads/list

和 iTweenPath.unitypackage(编辑路径才需要这个包)

文档地址 http://itween.pixelplacement.com/documentation.php

AudioFrom:pitch和volum属性提供的是初始值

audioTo: pitch和volum属性提供的是终结值

audioUpdate:pitch和volum属性提供的是终结值 此方法用于Update()方法中

CameraFadeAdd:创建一个对象可以模拟摄相机的淡入淡出。

CameraFadeDepth:改变摄相机的淡入淡出深度(对象为CameraFadeAdd返回对象)

CameraFadeDestroy:删除摄相机的淡入淡出效果(对象为CameraFadeAdd返回对象)

CameraFadeSwap:改变摄相机的淡入淡出背景图(对象为CameraFadeAdd返回对象)

CameraFadeFrom:立即改变摄相淡入淡出的透明度然后随时间返回.amount:当执行淡入淡出时,

其透明度的大小。(透明度越大,淡入淡出越快,个人认为100为满。此方法配合CameraFadeAdd

使用,只有在CameraFadeAdd前提下,才可以进行淡入淡出操作。此方法为从CameraFadeAdd返回

的对象出淡出到原来的界面。

CameraFadeTo:随时间改变摄相机淡入淡出透明度,(透明度越大,淡入淡出越快,个人认为100

为满。此方法配合CameraFadeAdd使用,只有在CameraFadeAdd前提下,才可以进行淡入淡出操作。

此方法为从本界面淡入到CameraFadeAdd返回的对象

CameraTexture:根据提供颜色创建一个full-screen Texture2D,可为CameraFade所用。(可在

CameraFadeAdd方法中被调用)

ColorFrom:即刻改变对象的颜色值然后随着时间改变其回原来的颜色(总的来说,就是对GUIText

和GUITexture的颜色的淡入淡出效果)。Color:此属性代表对象变化初始值。与audioFrom有异曲

同工之效

ColorTo:随着时间改变对象的颜色组。同上例一样。Color:此属性代表对象变化最终值,与audioTo

有异曲同工之效

(注意,ColorFrom和ColorTo还有后面的ColorUpdate方法的NamedColorValue属性,GuiText和

GuiTexture和3d Text都不支持这个属性,当我们添加有此属性的方法的脚本进去时,会提示)

ColorUpdate:跟ColorTo类似,但花销的成本较少,此方法在Update方法中被调用

DrawLine:为OnDrawGizmos() 调用(注意此方法只能在OnDrawGizmos()和 OnDrawGizmosSelected()中被调用);

DrawLineHandles:此方法只能在OnDrawGizmos()和 OnDrawGizmosSelected()中被调用

同理

DrawPath

DrawPathGizmos

DrawPathHandles

PathLength:返回Vector3s或者Transforms之间的距离长度。

EaseType:类型枚举,不同类型及其展示可见http://www.robertpenner.com/easing/easing_demo.html

FadeFrom:即刻改变对象的的阿尔法值,然后随着时间将其阿尔法值变回原值。如果对象上有挂载

a Light, GUIText or GUITexture这些组件,这些组件将成为被执行的对象。

注:阿尔法值可以粗略理解为对象的透明度,值越小,透明度越大。

这里的 alpha或者 amount 是变化初值

FadeTo:同上,alpha或amount是变化终值。

FadeUpdate :同FadeTo类似,在Update()方法中调用,提供时刻改变属性值的环境。不局限于

EaseType

FloatUpdate:根据提供的速度返回两个值之间的连续值。

Hash:用来创建Hashtables的通用接口,尤其对C#开发者有用。

Init:树立起一个游戏对象以防止中断当一个初始iTween被添加时。建行运行这个在每个你想运行

iTween在它的Start()或Awake()方法。

LookFrom:即刻旋转物体让其看提供的Vector3或都Transfrom,然后随时间旋转回原来的角度值

注:物体的脸部一般以本地坐标(即物体坐标)的Z轴,脸部朝向方法,即Z轴指向方法。

LookTo:随时间旋转物体让其脸部朝向所提供的Vector3或Transform位置。

LookUpdate:同LookTo类似,在Update()方法中调用。

LoopType :循环方法的枚举。三种:

none:不循环

loop:退回然后重新开始

pingPing:来回摆动播放

MoveAdd:随时间改变游戏对象的位置(原理还有点蒙,感觉跟MoveBy有点像)amount:是改变物体位置

的一个值,不是目标位置的坐标。

MoveBy:增加提供的坐标到游戏对象的位置

MoveFrom:立即改变游戏对象的位置为提供的,然后随时间改变游戏对象位置到初始位置

属性:movetopath:Boolean值 ,是否自动将物体置于Ptah的起始点,默认值为真

Path:目标文件可用路径编缉器获得

MoveTo:随时间改变游戏对象的位置到提供的位置

MoveUpdate:类似于MoveTo,在Update()方法中调用。提供每帧改变属性值的环境

Pause:停止iTween 如果一个iTween以gnoreTimeScale定制且设为True停止工作

PunchPosition:对物体的位置添加一个摇晃的力,使其摇晃最终归于原来的位置 其晃动大小和方法由

提供的amount(Vector3)决定(方法由Vector3的x,y,z共同决定,晃动大小,由各个方法的值的大小决定

PunchRotation:对物体的旋转添加一个摇晃的力,使其旋转最终归于初始值。其旋转角度大小和方向由

提供的Vector3决定,建议用单轴而不是整个Vector3,例如(0,1,0)是绕Y轴旋转,角度大小由

Vector3Y轴值大小决定

PunchScale:对物体的大小比例添加一个摇晃的力,使其大小比例变化最终归于初始值。其大小比例变

化方向和大小由提供的Vector3决定。例如(0,1,0)是在Y轴方向对物体大小变化(即变化物体的高)

,大小由该方向的值大小决定

PutOnPath :根据提供的百分比将游戏物体置于所提供路径上。(1为百分之百)

PointOnPath:根据提供的百分比返回一条路径上的Vector3的位置

RectUpdate:返回一个RECT在提供的两个值之间,大小变化根据提供的速度

Resume:恢复iTweens

RotateAdd:对游戏物体的旋转角度随着时间增加所提供的欧拉角(顺时针旋转。Vector3三个值解析:

X,Y,Z各代表围绕哪个轴转动。其转动角度就是X,Y,Z、的值的大小。amount:欧拉角大小)

RotateBy:把提供的值乘以360,然后随着时间旋转游戏物体的角度按计算得的值。例 如(0,1,0)就

是绕Y轴旋转360度。 顺时针旋转

RotateFrom:立即改变游戏物体角度的欧拉角,然后随着时间旋转回原来的角度,属性提供的欧拉角为

变化初始值

RotateTo:旋转游戏物体角度到我们所提供的欧拉角角度。属性提供的欧拉角为变化终结值

RotateUpdate:跟RotateTo类似,该方法在Update中被调用,提供一个可改变属性值的环境。不用局限

于EaseType

ScaleAdd:随着时间根据提供的amount(Vector3)增加游戏物体的大小

ScaleBy:随着时间变形游戏物体,游戏物体最终变形大小由我们提供的amount(Vector3)值决定 算法:

最终变形大小=游戏物体初始的sacle * 我们提供的 amount值

ScaleFrom:立即改变游戏物体的比例大小,然后随时间返回游戏物体原本的大小。amount:为物体变形

的初始大小

ScaleTo:随着时间改变物体的比例大小到我们提供的Scale大小(scale值)

ScaleUpdate:跟ScaleTo类似,此方法用于Update中,提供可改变属性值的环境 ,不用局限于EaeType

ShakePosition:根据提供的amount衰减其值随机摇动游戏物体的位置,其晃动大小和方向由提供的

amount(Vector3)决定(方向根据Vector3随机,晃动大小,由各个方向的值的大小决定)

ShakeRotation:根据提供的amount衰减其值随机摆动旋转游戏物体的角度 。Vector3三个值解析:

X,Y,Z各代表围绕哪个轴旋转。其转动角度就是X,Y,Z、的值的大小

ShakeScale:根据提供的amount衰减其值随机摆动改变游戏物体的大小。其大小比例变化方向和大小由

提供的Vector3决定。例如(0,1,0)是在Y轴方向对物体大小变化(即变化物体的高),大小由该方向

的值大小决定

stab:播放AudioClip一次,不用手动加载AudioSource组件

Stop:停止iTweens

Stop By Name:停止指定名字的iTween

ValueTo:返回一个插值在两件值之间的回调函数的值

Returns a value to a callback method interpolated between the supplied 'from’ and 'to’

values for application as desired. Requires an 'onupdate’ callback that accepts the same

type as the supplied 'from’ and 'to’ properties.

Vector2Update:Returns a Vector2 that is eased between a current and target value by the

supplied speed.

*Vector2Update(Vector2 currentValue, Vector2 targetValue, float speed) : Vector2

Vector3Update: Returns a Vector3 that is eased between a current and target value by the

supplied speed.

*Vector3Update(Vector3 currentValue, Vector3 targetValue, float speed) : Vector3

iTween介绍和用法
一.iTween 介绍
iTween是一个动画库,作者创建它的目的就是最小的投入实现最大的产出.让你做开发更轻松,用它可以轻松实现各种动画,晃动,旋转,移动,褪色,上色,控制音频等等

二.iTween 原理
iTween的核心是数值插值,简单说就是给iTween两个数值(开始值,结束值),它会自动生成一些中间值,大概像这样子, 开始值-> 中间值 -> 中间值 …. -> 结束值。
这里的数值可以理解为: 数字,坐标点,角度,物体大小,物体颜色,音量大小 等

三.iTween 下载: 从官网http://itween.pixelplacement.com
主要文件有两个iTween.cs 和 iTweenPath.unitypackage(编辑路径才需要这个包)

四.如何将iTween 加入项目:
在项目中建立Plugins目录, 然后将下载的iTween.cs放到Plugins目录即可.
如果需要编辑路径, 使用import package->custom package菜单功能加入iTweenPath.unitypackage

五.几种效果演示

六.示例代码:

  1. 物体移动
    iTween.MoveTo(target, iTween.Hash("position", destPos, "easetype", easeType));

  2. 数值过渡
    iTween.ValueTo(gameObject, iTween.Hash(
    "from", y,
    "to", toY,
    "easetype", easeType,
    "loopType", loopType,
    "onupdate", "onupdate",
    "time", tm
    ));

  3. 振动
    iTween.ShakePosition(target, Vector3(0, 0.1, 0), 1);

    4. 按路径移动
      var path = GameObject.Find("Plane").GetComponent("iTweenPath").GetPath("myPath");
      iTween.MoveTo(gameObject, iTween.Hash(//"position", Vector3(0, 0, 0), 
                                       "path", path,
                                       "time", 20,
                                       "easetype", "linear"));
    

六.路径编辑

  1.   将iTweenPath.cs拖至某个游戏对象上, 这个游戏对象的就会多出如下属性,
    

下图表示路径由5个节点组成, 路径名称为myPath

  1. 可以手工填写节点坐标,也可以在场景中调整节点坐标


最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 203,271评论 5 476
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 85,275评论 2 380
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 150,151评论 0 336
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,550评论 1 273
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,553评论 5 365
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,559评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 37,924评论 3 395
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,580评论 0 257
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,826评论 1 297
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,578评论 2 320
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,661评论 1 329
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,363评论 4 318
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,940评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,926评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,156评论 1 259
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 42,872评论 2 349
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,391评论 2 342

推荐阅读更多精彩内容