关于Unity中DOTween插件的使用(专题一)
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,完成后多出两个文件夹

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(, , ), 3.0f);//这个Vector3(0, 145, 0)是欧拉角,和Unity编辑器里面是一样的
//也有用四元素作为参数的旋转函数 t.SetLoops(); //循环播放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动画将停下来

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(, 5.0f));//在5秒之内移动到目标点
seq.Append(this.transform.DOMoveX(, 5.0f));//在5秒之内移动到原点
seq.SetLoops(-);//无限循环播放 // 插入一个Tweener对象到队列的某一个时刻,这里时刻是0
seq.Insert(, this.transform.DOScale(new Vector3(, , ), 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(, , ), 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插件的DOTweenPath轨迹移动
先来看一下DOTweenPath组件的截图 1.Scene View Commands (1)SHIFT+CTRL:add a waypoint 加一个轨迹点 (2)SHIFT+ALT: ...
- Unity中DoTween的使用
在Unity手游开发中,经常用到插值运算,我们可以使用Mathf.Lerp自行去实现效果,但是使用插件提高了我们的开发效率,这里归结一下DoTween的基本使用方式以及效果说明: 直接代码: usin ...
- 关于Unity中的声音管理模块(专题七)
声音的要素 1: 音频文件AudioClip2: 音源AudioSource;3: 耳朵AudioListener;//全局只能有一个4: 2D/3D音频;//2D只是简单地播放声音,3D可以根据距离 ...
- unity中导入插件时报错处理办法
错误如下: Unhandled Exception: System.TypeLoadException: Could not load type 'System.ComponentModel.Init ...
- Unity中嵌入网页插件Embedded Browser2.1.0
背景 最近刚换了工作,新公司不是做手游的,一开始有点抵触,总觉得不是做游戏自己就是跨行了,认为自己不对口,但是慢慢发现在这可以学的东西面很广,所以感觉又到了打怪升级的时候了,老子就在这进阶了. 一进公 ...
- unity Dotween插件的简单介绍及示例代码
unity里面做插值动画的插件有许多,比较常见的有itween.hotween.dotween.根据大家的反馈和实际体验来说,dotween插件在灵活性.稳定性.易用性上都十分突出.这里简单介绍下它的 ...
- unity缓动插件DOTween Pro v0.9.680
DoTween Pro是一款unity插件,是unity中最好用的tween插件,比起Dotween的免费版要多很多功能,实现脚本和视觉脚本的新功能,支持包括移动,淡出,颜色,旋转,缩放,打孔,摇动, ...
- 高速上手Unity中最好的补间动画插件DFTween
出处:http://blog.csdn.net/u010019717 author:孙广东 时间:2015.3.17 23:00 DFTween 是一个在 Unity 游戏引擎中高 ...
- Unity中内嵌网页插件UniWebView
一.常见Unity中内嵌网页实现方式: 1.UnityWebCore只支持windows 2.Unity-Webview支持Android,IOS 3.UniWebView支持mac os,Andro ...
随机推荐
- 【Unity】10.1 类人动画的导入和设置
分类:Unity.C#.VS2015 创建日期:2016-05-02 一.制作或购买类人模型 为了充分使用 Mecanim 类人动画系统和类人动画的动画重定位功能,需要先使用其他3D建模软件(例如3d ...
- hibernate中的saveOrUpdate()报错
最近使用hibernate保存数据的时候,没有使用id自增主键,而是使用了一种调用seq以后手动赋值的方式生成主键,然后使用saveorupdate()报错.上网查看终于知道了问题所在,记录一下: 在 ...
- linux命令(46):程序运行前后台切换
A,Shell支持作用控制,有以下命令:1. command& 让进程在后台运行2. jobs 查看后台运行的进程3. fg %n 让后台运行的进程n到前台来4. bg %n 让进程n到后台去 ...
- 使用PyHive操作Hive
使用PyHive操作Hive 废话 搜了一下,看到了StackOverFlow的回答,试了一下前两个方案,感觉第二个更简洁,这里记录一下,更详细的见参考. 安装依赖 pip install sasl ...
- hive查询遇到java.io.EOFException: Unexpected end of input stream错误
hive查询遇到java.io.EOFException: Unexpected end of input stream错误 原因基本上有两个: 空文件 不完整的文件 解决办法: 删除对应文件- 参考 ...
- MySQL查看当前运行的事务和执行的账户
-- 查看当前运行的事务,这点在变更表结构之前必须要查看select * from information_schema.innodb_trx; -- 查看当前运行的事务的账户和事务开始的时间,及其事 ...
- (精品)微信支付android端
PayingActivity.java public void WxPay(){ // new Thread(new Runnable() { // @Override // public void ...
- iOS开发:一个瀑布流的设计与实现(已实现缓存池功能,该功能使得瀑布流cell可以循环利用)
一个瀑布流的实现有三种方式: 继承自UIScrollView,仿写UITableView的dataSource和delegate,创造一个缓存池用来实现循环利用cell 写多个UITableview( ...
- 07Vue.js快速入门-Vue路由详解
对于前端来说,其实浏览器配合超级连接就很好的实现了路由功能.但是对于单页面应用来说,浏览器和超级连接的跳转方式已经不能适用, 所以各大框架纷纷给出了单页面应用的解决路由跳转的方案. Vue框架的兼容性 ...
- C#学习笔记(23)——C#将PPT批量转为JPG(aspose方法)
说明(2017-7-31 18:30:25): 1. 最主要的是下载到aspose的破解文件,我在这里下载的http://www.lenosoft.net/down/10205.htm,如果不差钱可以 ...