Unity itween插件的使用法法整理
2017-11-03 14:29
555 查看
网上有多个不同版本的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:
动画方式枚举:( 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
一、 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表示单位时间内 |
平方
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
相关文章推荐
- jQuery Form插件使用详解_动力节点Java学院整理
- ubuntu 11.10 使用 emacs-23.4 开发 erlang 整理 之 auto-complete 插件的安装
- 本博使用的vim(gvim)相关插件整理
- chrome插件使用整理
- [osg]osgDB的加载机制,使用3DS插件做参考(转,整理现有osgDB资料)
- JQ插件的写法及使用整理
- jQuery的validate插件使用整理
- Eclipse WindowBuilder 插件使用资料整理
- 本博使用的vim(gvim)相关插件整理
- NUnit单元测试整理高级篇之测试数据库操作以及VS插件TestDriven的使用
- sublime插件使用整理
- Bootstrap表单验证插件bootstrapValidator使用方法整理
- 整理我正在使用的火狐插件
- cordova-plugin-inappbrowser插件使用整理
- cordova-plugin-themeablebrowser插件使用整理
- 使用的vim(gvim)相关插件整理
- ECharts 图表插件使用整理(图表配置实现)
- 使用的vim(gvim)相关插件整理
- 【自己的整理】【jQuery插件】 使用canvas创建折线图
- 我的vue插件使用整理