DoTween

DoTween从何而来

在NGUI中提供了UITween 来支持UI的动画编写,极度降低了代码的复杂度,然而,我们的UGUI中并没有类似UITween的功能进行支撑,所以我们用到了第三方插件 DoTween。

在我们Unity官方的UGUI的Demo中UI的动画是使用Animator来制作的,试想一下,如果我们的UI如果需要动画效果,那么就需要使用 AnimationController,除此之外,还需要去编辑动画,如果数量不多

的UI可以这样,如果UI过多的需要动画,那么工作量就有些庞大了。所以现在市面上绝大多数使用UGUI开发的公司都使用了DoTween来辅助完成UI动画的设计,当然,DoTween也可以应用到3D物体上

记得大概2014年的时候就有了这款插件,这款插件最开始的时候就是应用到3D游戏物体上的动画,后来才被扩展到UGUI中

主要的方法(就是最常用的):

1.以DO开头的方法:就是补间动画的方法。例如:transform.DOMoveX(100,1)

2.以Set开头的方法:设置补间动画的一些属性。例如:myTween.SetLoops(4, LoopType.Yoyo)

3.以On开头的方法:补间动画的回调方法。例如:myTween.OnStart(myStartFunction)

1.导入插件:

插件我们在官网中可以直接下载,而且是免费的,直接点击下载导入就可:![](https://img-blog.csdnimg.cn/20201110182416179.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3dlaXhpbl80MzUxMTg3MQ==,size_16,color_FFFFFF,t_70#pic_center)

这里点击这个就行:

后面会出现一个DoTween可以控制的一些方法:直接点击Apply

然后呢,我们随便建立一个脚本,如下:

这个时候我们是不能用DoTween的,要在开头加一个引用:Using DG.Tweening

之后就可以使用Do Tween的方法了;

这里先用一些简单的例子来使用DOTwenn的方法:

public class Text : MonoBehaviour
{public Vector3 value = new Vector3(0, 0, 0);private void Start(){//() => value表示返回获取value值//x => value = x,x是通过目标值计算出来的插值,赋值给value//new Vector3(10, 10, 0)是目标值//2是到达目标值的时间DOTween.To(() => value, x => value = x, new Vector3(10, 10, 0), 2);}// Update is called once per framevoid Update(){//value的值每帧赋值给物体,来达到使物体运动的效果transform.position = value;}
}

这些代码复制进去,然后把我们创建的脚本,放到相应的物体上

点击运行,这时候我们就可以看到物体2秒内移动的效果了,

这是To的方法移动

然后我们使用直接改变物体transfrom的方法使得物体移动,比如我让方块从0,0,0 =>10,10,10

先把之前代码删掉,然后开始,我们只需要把别的代码删掉,加一行代码就够了,然后点击运行就会看到

public class Text : MonoBehaviour
{private void Start(){//我们脚本赋值在哪个物体上,这就是哪个物体的transfrom(也就是位置)//new Vector3(10, 10, 10)这是物体要移动的到的位置//2是两秒之后移动到那个地方去transform.DOLocalMove(new Vector3(10, 10, 10), 2);}// Update is called once per framevoid Update(){}
}

另外 还有当我在这个后面加上From()时,就是倒放效果

transform.DOLocalMove(new Vector3(10, 10, 10), 2).From();//倒放,也就是从目标位置移动到当前位置

这里我们还可以设置动画曲线:然我们达到缓动或者各种曲线的效果

比如·:

transform.DOLocalMove(new Vector3(10, 10, 10), 2).SetEase(Ease.InOutFlash);

另外,我们不仅可以控制物体的移动,还有控制物体的大小,旋转,都是OK的;

代码也大都一样:

    transform.DORotate(new Vector3(90, 90, 90), 2f);transform.DOScale(new Vector3(2, 2, 2), 2);

然后还有DoText:文字打印效果

text.DOText(“云想衣裳花想容,春风拂槛露华浓”, 2);

DOColor()修改颜色

text.DOColor(Color.red, 2);

DOFade()透明度渐变

text.DOFade(1, 2);

代码:

using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.UI;//这里注意要加命名空间
using DG.Tweening;public class Test : MonoBehaviour
{//定义Text的字段private Text text;private void Start(){//在我赋值的物体上找到Text这个组件text = gameObject.GetComponent<Text>();//文字打印机效果text.DOText("xxxxxxxxxxx", 4);//文字颜色渐变text.DOColor(Color.red, 4);//文字透明度渐变text.DOFade(1, 4);}}

创建一个Text

然后运行就可以看到效果了

DOShakePosition() 震动效果

    //Camera.main是主摄像机//1,是震动频率//0.5f是时间Camera.main.transform.DOShakePosition(1, 0.5f);

SetLoops()设置循环播放次数

cube.transform.DOMoveX(5, 1).SetEase(Ease.InCubic).SetLoops(2);

OnComplete()当动画结束时运行的事件函数

cube.transform.DOMoveX(5, 1).OnComplete(() => { Debug.Log(“End”); });

OnStart()当动画第一次运行时的事件函数

cube.transform.DOMoveX(5, 1).OnStart(() => { Debug.Log(“Start”); });

DOTween的基本使用方法相关推荐

  1. Unity3d DOTween 插件 详细使用方法

    Tween的移动类型有很多种,比如匀速运动.加速运动.减速运动,等等.如果你拿捏不准你需要用什么移动类形式. http://www.robertpenner.com/easing/easing_dem ...

  2. dotween unity 延时_Unity教程-使用DoTween实现飘字效果教程

    该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 DoTween是一款比较强大的补间动画插件,本篇文章我们来学习下,利用DoTween来实现下飘字的效果,首先我们看下DoTween中几个方法: Seque ...

  3. 2小时搞定DoTween在商业项目中的使用

    安装DoTween插件 首先,我们需要将DoTween插件添加到我们的Unity项目中.我们可以从Unity Asset Store中下载DoTween插件,并将其导入到我们的项目中. 对啦!这里有个 ...

  4. 从零开始制作基于Unity引擎的宝石消消乐(二)

    完整项目我已经放到GitHub啦~ GitHub: https://github.com/lucaschen1993/Lukastar 前言 上一篇文章说到游戏的设计,现在就来讲一讲游戏内操作方法的实 ...

  5. 基于Unity3D的AR小游戏开发【100011412】

    本科毕业设计(论文) GRADUATION DESIGN(THESIS) 基于 Unity3D 的增强现实游戏程序 摘要 增强现实(AR)作为一项新兴技术近年来被越来越多的人群所获知,AR 也渐渐走进 ...

  6. 在 Oracle Enterprise Linux 和 iSCSI 上构建您自己的 Oracle RAC 11g 集群

    作者:Jeffrey Hunter 了解如何以低于 2,700 美元的费用在 Oracle Enterprise Linux 上安装并配置 Oracle RAC 11g 第 2 版开发集群. 本指南中 ...

  7. Java面试题大全2021版

    一.Java 基础 JDK 和 JRE 有什么区别? JDK:Java Development Kit 的简称,java 开发工具包,提供了 java 的开发环境和运行环境. JRE:Java Run ...

  8. U3D 扩展方法 Dotween tolua

    U3D 扩展方法 & Dotween & tolua using UnityEngine; using System.Collections; using LuaInterface;/ ...

  9. Dotween Path 路径动画使用方法详解

    Dotween对于路径动画部分的api我觉得注释的过少了,很多用法没有写清楚,这里我就对Dotween Path做一下详细说明 1.API Dotween对于路径动画就只提供了两个方法,一个是针对于世 ...

最新文章

  1. Python 进阶_OOP 面向对象编程_实例属性和方法
  2. Laravel5.2之Filesystem-从Dropbox中下载文件到AWS S3
  3. 数据结构学习官方代码
  4. Http基本身份验证在Spring Security中如何工作?
  5. SES2 LED控制
  6. 【通信】基于matlab数字基带传输系统【含Matlab源码 885期】
  7. 软件技术方案_广东省汕尾市海丰陈氏数字化网络化全县族谱统修工作方案(草案)...
  8. 兄弟无线打印显示服务器内部错误,兄弟打印机故障代码表
  9. 工作计划表怎么做?30份Excel工作计划表模板,职场人必备,可套用
  10. 有些软件,听着听着就没了...
  11. pc端分享到微信、微博、facebook、twitter
  12. python搭建微信小程序卖货要收费用吗_开发一个微信小程序需要多少钱?
  13. 银河麒麟V10 SP1服务版虚拟机安装
  14. 计蒜客 T1609 掷骰子
  15. Content type 'multipart/form-data;boundary=--------------------------496238283102520395700876;解决方案
  16. 阿里云服务器创建快照、回滚磁盘
  17. 马化腾: 你想想不充钱能不能玩这游戏? 丁磊:你仔细想想不充钱能不能玩这游戏? 张栋:CNM我就问你不充钱能玩我运营的游戏吗?...
  18. dnf服务器合并信息,DNF最大改动 全服合并9个大区 频道过百
  19. 不做人生规划,你离挨饿只有三天(转)
  20. js根据后缀名判断文件的类型

热门文章

  1. 【Ceres】(三)Covariance Estimation
  2. PagerAdapter中的NotifyDataSetChanged
  3. 并行算法设计与性能优化 刘文志 第7章 并行算法设计方法
  4. 第五届中国双创发展大会在杭州落幕 为新经济主体摸索发展路径
  5. Linux 下dlopen的使用
  6. TCP的ACK机制学习日志
  7. 【USB笔记】配置描述符Configuration Descriptor
  8. 管理 - 如何与领导相处
  9. Java - 字母忽略大小写排序,但同一个字母的大写排在小写后面
  10. 技术·融合·治理|众享链网2021发布会暨试运行启动仪式成功举办