关于Unity中DOTween插件的使用(专题一)
2017-08-04 13:00
519 查看
DOTween
flash里面的一个概念叫补间动画,DOTween就是干这个事情的。
补间动画:在1秒钟之内从A点移动到B点,在这个之间会把动画补间补好。
当我们安装好DOTween后,它就会提供很多补间的功能方便我们使用。当我们安装了这个插件以后,我们就可以快速使用代码来生成补间动画。
例子:赛车选择界面,旋转赛车后有一个慢慢回弹的动画效果。
安装DOTween
1: 去网站http://dotween.demigiant.com/getstarted.php下载
2: 将DOTween解压后复制到项目的任意目录下(Editor, Plugins or Resources除外);
3: 运行DOTween的Setup: 菜单栏的 Tools/Demigiant;
4: 在代码里面 加上 DOTween的名字空间 using DG.Tween;
5: 安装完DOTween插件后,很多组件能够支持Tween;
DOTween对组件的扩展
1: 其他的组件扩展了Tween接口: 详情见文档: http://dotween.demigiant.com/documentation.php AudioMixer
AudioSource
Camera
Light
Material:
Rigidbody:
Rigidbody2D:
Transfrom
2: 例如Transfrom组件:
(1)组件实例.DOMove: 平移;
(2)组件实例.DOScale: 缩放;
(3)组件实例.DORotate 旋转;
Tweener常用操作
1: 常用的播放控制函数
组件实例.DOPause(); 暂停一个Tween;
组件实例.DOPlay/DOPlayBackwards/DOPlayForward; 播放
组件实例.DOKill; // 杀掉Tween;
2:设置循环次数 t.SetLoop(); -1:为一直循环;
5: Tweener 常用的事件:
(1)OnStart();
(2)OnComplete();
(3)OnKill();
(4)OnUpdate();
DOTween实例
1.创建Unity项目
2.解压下载的DOTween_1_1_620_hc.zip,复制文件夹到Unity项目目录的根目录下,根据提示点Setup DOTween,完成后多出两个文件夹
![](https://images2017.cnblogs.com/blog/939267/201708/939267-20170804125834084-1774932789.jpg)
3.再创建Scripts和Scenes文件夹,保存场景
4.创建一个立方体Cube,再创建一个脚本dotween_use
打开dotween_use
5.运行的时候会多出这两个节点,不能删除或者隐藏,否则DOTween动画将停下来
![](https://images2017.cnblogs.com/blog/939267/201708/939267-20170804125934678-161450991.jpg)
Sequence队列
1: 创建一个队列容器: DOTween.Sequence()
2: 将Tween加入到容器队列 seq.Append(tween);
3: SetLoops():设置队列容器的循环次数;
4: Insert: 插入一个并行的Tween;
Sequence实例
1.创建Unity项目
2.解压下载的DOTween_1_1_620_hc.zip,复制文件夹到Unity项目目录的根目录下,根据提示点Setup DOTween,完成后多出两个文件夹
3.再创建Scripts和Scenes文件夹,保存场景
4.创建一个立方体Cube,再创建一个脚本dotween_use
打开dotween_use
Ease缓动效果
1: Tweener设置缓动动画:
SetEase(效果类型);
2: 效果类型:
OutBack: 快速移动超出目标,然后慢慢回到目标点;
.....
Ease缓动效果案例
1.创建Unity项目
2.解压下载的DOTween_1_1_620_hc.zip,复制文件夹到Unity项目目录的根目录下,根据提示点Setup DOTween,完成后多出两个文件夹
3.再创建Scripts和Scenes文件夹,保存场景
4.创建一个立方体Cube,再创建一个脚本dotween_use
打开dotween_use
注意:
每次按某个函数的F12的时候,发现我们实际使用的函数参数其实并没有完整,实际上我们没有填的参数系统会用默认的参数来填充,所以只要填有用的就函数参数就好了。
flash里面的一个概念叫补间动画,DOTween就是干这个事情的。
补间动画:在1秒钟之内从A点移动到B点,在这个之间会把动画补间补好。
当我们安装好DOTween后,它就会提供很多补间的功能方便我们使用。当我们安装了这个插件以后,我们就可以快速使用代码来生成补间动画。
例子:赛车选择界面,旋转赛车后有一个慢慢回弹的动画效果。
安装DOTween
1: 去网站http://dotween.demigiant.com/getstarted.php下载
2: 将DOTween解压后复制到项目的任意目录下(Editor, Plugins or Resources除外);
3: 运行DOTween的Setup: 菜单栏的 Tools/Demigiant;
4: 在代码里面 加上 DOTween的名字空间 using DG.Tween;
5: 安装完DOTween插件后,很多组件能够支持Tween;
DOTween对组件的扩展
1: 其他的组件扩展了Tween接口: 详情见文档: http://dotween.demigiant.com/documentation.php AudioMixer
AudioSource
Camera
Light
Material:
Rigidbody:
Rigidbody2D:
Transfrom
2: 例如Transfrom组件:
(1)组件实例.DOMove: 平移;
(2)组件实例.DOScale: 缩放;
(3)组件实例.DORotate 旋转;
Tweener常用操作
1: 常用的播放控制函数
组件实例.DOPause(); 暂停一个Tween;
组件实例.DOPlay/DOPlayBackwards/DOPlayForward; 播放
组件实例.DOKill; // 杀掉Tween;
2:设置循环次数 t.SetLoop(); -1:为一直循环;
5: Tweener 常用的事件:
(1)OnStart();
(2)OnComplete();
(3)OnKill();
(4)OnUpdate();
DOTween实例
1.创建Unity项目
2.解压下载的DOTween_1_1_620_hc.zip,复制文件夹到Unity项目目录的根目录下,根据提示点Setup DOTween,完成后多出两个文件夹
![](https://images2017.cnblogs.com/blog/939267/201708/939267-20170804125834084-1774932789.jpg)
3.再创建Scripts和Scenes文件夹,保存场景
4.创建一个立方体Cube,再创建一个脚本dotween_use
打开dotween_use
using System.Collections; using System.Collections.Generic; using UnityEngine; using DG.Tweening; // 添加这个DOTween所在的名字空间 public class dotween_use : MonoBehaviour { //开始播放前所调用的函数 void on_tween_start() { Debug.Log("on_tween_start"); } //结束播放后所调用的函数 void on_tween_end() { Debug.Log("on_tween_end"); } // Use this for initialization void Start () { // 创建一个补间动画,在5秒之内移动到目标点,会慢慢停下来,不会很生硬的那种 //Tweener t = this.transform.DOMove(new Vector3(0, 0, 10), 5.0f);//对象t会自动删除 //创建一个补间动画,在5秒之内不断缩小,缩小到没有 //t = this.transform.DOScale(new Vector3(0, 0, 0), 5.0f); //创建一个补间动画,在3秒之内绕Y轴旋转145度 Tweener t = this.transform.DORotate(new Vector3(0, 145, 0), 3.0f);//这个Vector3(0, 145, 0)是欧拉角,和Unity编辑器里面是一样的 //也有用四元素作为参数的旋转函数 t.SetLoops(4); //循环播放4次, -1无限制循环播放,每次播放都是重头开始 // this.transform.DOPause(); // 暂停播放; // this.transform.DOPlay(); // 开始播放; // this.transform.DOKill(); // 移除补间动画; t.OnStart(this.on_tween_start); // 在动画播放前调用事件 t.OnComplete(this.on_tween_end); // 大写(一般用这个),在动画播放后调用事件 //t.onComplete += this.on_tween_end;//小写,是委托,也是在动画播放后调用事件,效果一样 } // Update is called once per frame void Update () { } }
5.运行的时候会多出这两个节点,不能删除或者隐藏,否则DOTween动画将停下来
![](https://images2017.cnblogs.com/blog/939267/201708/939267-20170804125934678-161450991.jpg)
Sequence队列
1: 创建一个队列容器: DOTween.Sequence()
2: 将Tween加入到容器队列 seq.Append(tween);
3: SetLoops():设置队列容器的循环次数;
4: Insert: 插入一个并行的Tween;
Sequence实例
1.创建Unity项目
2.解压下载的DOTween_1_1_620_hc.zip,复制文件夹到Unity项目目录的根目录下,根据提示点Setup DOTween,完成后多出两个文件夹
3.再创建Scripts和Scenes文件夹,保存场景
4.创建一个立方体Cube,再创建一个脚本dotween_use
打开dotween_use
using System.Collections; using System.Collections.Generic; using UnityEngine; using DG.Tweening; // 添加这个DOTween所在的名字空间 public class dotween_use : MonoBehaviour { // Use this for initialization void Start () { // 队列容器 // (1)创建一个队列 Sequence seq = DOTween.Sequence(); // (2)将一个Tweener对象放到队列的后面 seq.Append(this.transform.DOMoveX(10, 5.0f));//在5秒之内移动到目标点 seq.Append(this.transform.DOMoveX(0, 5.0f));//在5秒之内移动到原点 seq.SetLoops(-1);//无限循环播放 // 插入一个Tweener对象到队列的某一个时刻,这里时刻是0 seq.Insert(0, this.transform.DOScale(new Vector3(2, 2, 2), 5.0f));//从0秒开始,在5秒内不断放大到两倍 } // Update is called once per frame void Update () { } }
Ease缓动效果
1: Tweener设置缓动动画:
SetEase(效果类型);
2: 效果类型:
OutBack: 快速移动超出目标,然后慢慢回到目标点;
.....
Ease缓动效果案例
1.创建Unity项目
2.解压下载的DOTween_1_1_620_hc.zip,复制文件夹到Unity项目目录的根目录下,根据提示点Setup DOTween,完成后多出两个文件夹
3.再创建Scripts和Scenes文件夹,保存场景
4.创建一个立方体Cube,再创建一个脚本dotween_use
打开dotween_use
using System.Collections; using System.Collections.Generic; using UnityEngine; using DG.Tweening; // 添加这个DOTween所在的名字空间 public class dotween_use : MonoBehaviour { // Use this for initialization void Start () { //缓动效果 Tweener t = this.transform.DORotate(new Vector3(0, 270, 0), 3.0f);//在3秒之内绕Y轴旋转270度 t.SetEase(Ease.OutBack);//添加一个回弹的效果,还有很多的效果可以Ease.XXX里面查找,选中Ease按F12 //this.transform.DOMoveX(4, 3.0f).SetEase(Ease.OutBack);//有回弹效果的移动 } // Update is called once per frame void Update () { } }
注意:
每次按某个函数的F12的时候,发现我们实际使用的函数参数其实并没有完整,实际上我们没有填的参数系统会用默认的参数来填充,所以只要填有用的就函数参数就好了。
相关文章推荐
- 【Unity】DoTween插件的使用
- Unity 动画插件 DOTween 的简单使用
- 【Unity】DoTween插件的使用
- unity插件Dotween的使用方法
- 关于UNITY插件 ICE Creature Control的使用教程
- 关于使用AE进行图层与oracle外表连接制作专题图的一些问题
- unity下2d和3d混合使用教程,插件为OrtHello (一)
- 关于JQuery中两个要注意的地方(结合Extjs的grid滚动条及使用form插件提交表单)
- 关于jQuery的cookies插件2.2.0版设置过期时间的说明 (使用过,真的OK)
- 关于YII的菜单插件 CMenu - 和 面包末 breadcrumbs - 路径管理插件 的一些使用问题
- 关于使用vim插件的心得
- 使用中国CDN网络分发Unity 网页插件的方法
- 关于SubSonic3.0插件使用SubSonic.Query.Select查询时,字段类型为tinyint时列丢失问题的Bug修复
- 关于文件上传jQuery插件jquery.uploadify的使用心得
- [Unity]可视化路径的插件iTween的使用
- 【Unity 3D】使用 2DToolkit 插件 制作2D精灵动画
- 【Unity 3D 游戏引擎】使用 2DToolkit 插件 制作2D精灵动画
- 关于鞋服行业软件中使用最多的dcube插件
- 关于 jquery Uploadify 上传插件 在 asp.net中 的使用
- 关于Unity 获得和使用GetComponent<MeshFilter>().mesh时的心得