关于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(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动画将停下来

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的时候,发现我们实际使用的函数参数其实并没有完整,实际上我们没有填的参数系统会用默认的参数来填充,所以只要填有用的就函数参数就好了。

时间: 2024-07-28 19:38:28

关于Unity中DOTween插件的使用(专题一)的相关文章

Unity中DOTween插件的DOTweenPath轨迹移动

先来看一下DOTweenPath组件的截图 1.Scene View Commands (1)SHIFT+CTRL:add a waypoint        加一个轨迹点 (2)SHIFT+ALT:remove a waypoint     移除一个轨迹点 2.INfo (1)Path Length:轨迹长度 3.Tween Options (1)AutoPlay:自动播放 (2)AutoKill:播放完自动销毁动画 (3)Duration:动画时长 SpeedBased:If selecte

[转载]Unity中T4M插件的中文教程

ps:原文出处:http://blog.csdn.net/tianmao111/article/details/46482963 T4M是什么?为什么要用它? 它是一个地形(Terrain)工具.它是一个Unity地形的替代工具,用于所有被3D开发工具(Maya,EarthSculpto,3DS Max,Blender等)创建的几何体.最初,它只用于移动设备,但是更多的人发现了其他的一些益处: T4M是允许用户导入几何体到Unity作为地形(Terrain)的一种工具.T4M for Web和f

Unity中嵌入网页插件Embedded Browser2.1.0

背景 最近刚换了工作,新公司不是做手游的,一开始有点抵触,总觉得不是做游戏自己就是跨行了,认为自己不对口,但是慢慢发现在这可以学的东西面很广,所以感觉又到了打怪升级的时候了,老子就在这进阶了. 一进公司他们使用H5开发,做一款地形信息系统的软件,基于Unity开发,但是所有页面都是Js写的,所以我第一件事要做的是实现Unity嵌入网页,并实现交互. 在这里,领导说之前做过类似的即用的Embedded Browser2.1.0这个插件,让我研究下做个简单Demo. 实现方案 使用插件Embedde

unity Dotween插件的简单介绍及示例代码

unity里面做插值动画的插件有许多,比较常见的有itween.hotween.dotween.根据大家的反馈和实际体验来说,dotween插件在灵活性.稳定性.易用性上都十分突出.这里简单介绍下它的用法,并在后文做了一些效果示例,还是不错的. 所谓"插值动画",顾名思义就是在两个值中插入其他的值来实现动画.原理非常简单,比如想让某个物体从A地到达B地,我们只知道A和B的坐标,插值动画就可以根据"缓动函数"确定A.B间的其他值,来实现物体从A到B的"运动过

unity中使用FingerGestures插件3.0

FingerGestures是一个unity3D插件,用来处理用户动作,手势. 译自FingerGestures官方文档 目录 FingerGestures包结构 FingerGestures例子列表 设置场景 教程:识别一个轻敲手势 教程:手势识别器 教程:轻击手势识别器 教程:拖拽手势识别器 教程:滑动手势识别器 教程:长按手势识别器 教程:缩放手势识别器 教程:旋转手势识别器 教程:自定义手势识别器 教程:识别手势事件 建议:使用.net代理事件 fingerGestures包结构 路径,

高速上手Unity中最好的补间动画插件DFTween

?? 出处:http://blog.csdn.net/u010019717 author:孙广东      时间:2015.3.17   23:00 DFTween 是一个在 Unity 游戏引擎中高速和easy使用的animation动画库. 它支持不论什么对象的tweening补间的属性, 并能够轻松地进行工作与您自己自己定义数据类型.API 非常简单可是功能非常强大,使其易于创建复杂的tweens补间和sequences序列.它已被优化从优秀性能.同一时候具有低内存和低CPU 要求. ·高

快速上手Unity中最好的补间动画插件DFTween

?? 出处:http://blog.csdn.net/u010019717 author:孙广东      时间:2015.3.17   23:00 DFTween 是一个在 Unity 游戏引擎中快速和容易使用的animation动画库.它支持任何对象的tweening补间的属性, 并可以轻松地进行工作与您自己自定义数据类型.API 很简单但是功能非常强大,使其易于创建复杂的tweens补间和sequences序列.它已被优化从优秀性能,同时具有低内存和低CPU 要求. ·快速 查阅在线演示,

unity assetStore 常用插件

类别 名称 说明 价格(20180723)  教程 Mecanim Example Scenes 官方示例场景.   Surivial Shooter     2D Platformer     2D UFO Tutorial     脚本     iTween 缓动动画插件.   DOTween 相比 iTween 功能更丰富,支持组合动画.富文本动画.搭配协程一起使用等. FREE / $12  Photon Cloud 和 Unity 自带的网络系统组合,可以轻松实现多人联网.Pro 版拥

[译]为Unity制作WP8插件

前言: 在用Unity发布WP8应用时候,经常会遇到一些API不能用的情况,例如弹出MessageBox,无法使用string.Compare(string,string,bool)等等之类的问题.那么如何解决这些问题呢?解决方案之一就是制作插件.在Unity Manual中有这样一篇文章:http://docs.unity3d.com/Manual/wp8-plugins-guide-csharp.html 讲的就是如何制作Unity的WP8插件.小弟我用中文将这个过程描述一遍.由于能力有限,