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。

Unity itween插件的使用法法整理

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

Unity itween插件的使用法法整理



代码可以参考官方示例,本文就不进行介绍了。


参考文档:

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

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

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