DoTween(HOTween V2) 教程

1.

官方网站:http://dotween.demigiant.com/

下载地址:http://dotween.demigiant.com/download.php

快速开始:http://dotween.demigiant.com/getstarted.php

官方文档:http://dotween.demigiant.com/documentation.php

一、准备工作

1、下载 DOTween,解压至Unity的Asset文件夹,如果你使用的Unity版本低于Unity4.3,请删除所有的 DOTween43文件

2、在你们创建一个新的脚本时,需要在顶部导入命令空间:

using DG.Tweening;

3、初始化全局选项(可选)

DOTween.Init(autoKillMode, useSafeMode, logBehaviour);
如果你不这样做(或在你创建第一个Tween之后)DOTween将自动初始化为默认值,但你仍然可以改变它们

二、介绍

DOTween可以使用 完全通用的方法,像这样

你也可以使用 便捷的方法,像这样

无论选择那种方式,当你创建 tween 都会返回一个Tweener 或一个序列(两者的差异),如果你需要保存,你可以保存两者为Tween而无须关心它们的区别。

你可以以不同的方式 控制多个tween,你可以使用static的DOTween方法(有过滤的附加选项)……

// Rewind all tweens 撤消所有的tween
DOTween.Rewind();
// Rewind all tweens with a given id 根据指定id撤消tween
DOTween.Rewind(myId);
 
直接的tween引用
// Rewind a referenced tween 撤消引用的tween
myTween.Rewind();
 
或更多方式
// Rewind all tweens connected to a specific transform 撤消所有的tween到特定的transform
transform.DORewind();

三、Global或特定设置

你可以设置 global settings 将应用于所有新创建的补间动画,或通过 具体设置 为每一个单独的补间动画。

全局设置

全局设置 允许你设置默认 autoPlay和autoKill 行为,ease type,global timeScale,以及类似的东西。

具体设置

具体设置 是通过链分配,他们都开始以“Set”开始(除了Callbacks,是以"On"开始”),所以智能感知帮助你找到他们,这儿有些例子

// Create a transform tween and set its ease, loops and OnComplete callback(创建一个transform的tween,设置type为ease,循环,OnComplete回调)
transform.DOMove(new Vector3(2,2,2), 2).SetEase(Ease.OutQuint).SetLoops(4).OnComplete(myFunction);

// Same as above but using line breaks to make it more readable(同上,但使用换行符,使其更具可读性)
transform.DOMove(new Vector3(2,2,2), 2)
  .SetEase(Ease.OutQuint)
  .SetLoops(4)
  .OnComplete(myFunction);

// Same as above but storing the tween and applying settings without chaining(同上,但没有使用链的方式)
Tween myTween = transform.DOMove(new Vector3(2,2,2), 2);
myTween.SetEase(Ease.OutQuint);
myTween.SetLoops(4);
myTween.OnComplete(myFunction);
 
此外一类 tween 类型都有 特殊的附加功能,取决取决于值补间的取决于值补间的类型,它可以通过设置 SetOptions() 只要记住, SetOptions()是特殊的,当主要创建补间动画的方法后它需要立即链接:
// Same as the previous examples, but force the transform to
// snap on integer values (very useful for pixel perfect stuff)
//和上面的例子类似,但需要强制transform临时调整数值(对于像素完美是非常有用的)
transform.DOMove(new Vector3(2,2,2), 2)
  .SetOptions(true)
  .SetEase(Ease.OutQuint)
  .SetLoops(4)
  .OnComplete(myFunction);

你甚至可以Copy 一个tween的设置到另一个tween ,使用SetAs() :

// Create a tween with some settings and store it as a Tween
Tween myTween = transform.DOMove(new Vector3(2,2,2), 2)
  .SetEase(Ease.OutQuint)
  .SetLoops(4)
  .OnComplete(myFunction);

// Create another tween and apply the same settings as the previous one(创建另一个tween,并应用上一个tween的设置)
material.DOColor(Color.red, 2).SetAs(myTween);

( 这两个tween都会循环4次,easeType为OutQuint,当tween完成时都会调用myFunction)

四、Tween的Life(生命周期)

当你创建tween时它会自动播放(除非你设置了全局的 defaultAutoPlay 行为)直到完成循环

当tween完成后它会自动终止(除非你设置了做全局的 defaultAutoKill 行为),这意味着你不能再使用它。

如果你们要重复使用同一个tween,仅仅需要设置它的 autoKill 为 False(可以通过 global autoKill 设置所有的tweens 或为你自己的tween 设置 SetAutoKill(false) ).

如果你的tween的target为null,在tween播放时会报异常,你需要注意或激活 安全模式

五、Cache和tween最大值

如果你有 缓存池 缓存所有的你创建的tween,它们就可以重复使用,不需要创建新的。

此外也可以避免使用更多的资源,它会限制最大200个Tweeners并且50FPS在同一时间,如果你需要更多,DOTween会自动增加它的大小,当然你可以直接设置 来避免自动调整可能会发生卡顿的情况

// Set max Tweeners to 3000 and max Sequences to 200(设置最大Tweeners为300,最大FPS为200)
DOTween.SetTweensCapacity(3000, 200);
在任何时候你想 在tween完成时清除DOTween的cache,你可以调用 DOTween.Clear(),它会kill所有的tweens并释放所有的缓存.

六、Recycling tween

你不需要手动回收 tween,相反你可以选择自动 回收所有的 或 回收特定的

不过,在任何时间你都可以 改变 Tweener的 start和end values

时间: 2025-01-04 15:38:46

DoTween(HOTween V2) 教程的相关文章

【转】DoTween(HOTween V2) 教程

原文 DoTween(HOTween V2) 教程 官方网站:http://dotween.demigiant.com/ 下载地址:http://dotween.demigiant.com/download.php 快速开始:http://dotween.demigiant.com/getstarted.php 官方文档:http://dotween.demigiant.com/documentation.php 一.准备工作 1.下载 DOTween,解压至Unity的Asset文件夹,如果你

Unity Dotween Hotween

Hotween: http://www.cnphp6.com/archives/45174 Dotween(momo): http://www.xuanyusong.com/archives/3330

DoTween详细使用教程

DoTween 默认配置加上链式调用API风格,配上lambda匿名函数调用,非常简单清晰好用.DoTween实现了通用的缓动算法,能够配置出各种想要的动画效果.另外,队列延迟回调函数,也能完成各种异步延迟执行功能. DoTween 为各种Unity的对象做了函数绑定,方便调用.比如Transform, Color, Text, Material等都可以直接调用DoTween的动画API.我们先从通用的动画函数来了解. [csharp] view plain copy public static

Unity3D项目实战笔记(5):延时功能的几种实现

我所做过的系统,分单机版系统(2005年).CS系统(2010年).实时系统(2015年),各个系统均有“延时”功能:定时调度的: 本博客说的是实时系统中的延时功能(基于Unity3D游戏引擎). 在Unity3D中,新建的脚本会默认继承MonoBehaviour,其中Update函数会被引擎自动调度,如在我的电脑上,Update函数被调用的周期为0.012s. 那么Unity3D中,仅有通过Update函数来实现延时功能吗?  还有无其他的实现呢? 怎么才能让一个界面只显示1秒之后 然后再执行

工程问题--ubuntu16.04源码编译RGBD_SLAM V2

(失败)ubuntu16.04源码编译RGBD_SLAM V2 这几天一直在Ubuntu16.04上安装RGBD_SLAM V2, 但遇到两个比较主要的问题.查过很多方案,都没能解决. 留下这份记录,算是对这几天的总结 一. ubuntu16.04安装RGBD_SLAM V2的教程 这类教程有很多.但是我还是贴一个教程的链接. 请先将教程全部看完再安装(因为g2o是有特定版本要求的) ubuntu 16.04 安装 RGBD_SLAM V2教程飞机票: https://blog.csdn.net

还在使用pdf、word简历?简单五步实现github托管个人逼格简历

写在前面: 什么是git.github? git 版本控制工具 github 通过git工具做的版本控制的项目托管平台 项目开发肯定不止一个程序猿,多个程序猿针对同一个文件进行代码读写操作时,是先保存程序猿a还是程序猿b呢?这就很容易冲突,所以就有了git这种版本控制工具解决项目更新.慢慢的随着开源精神的发展以及在线的需求就有了github项目托管平台,对于git本地服务来说,github就是一个远程的仓库. 逼格在哪里? Github已经取代Sourceforge,成为最活跃的代码交流社区,一

【转载】UGUI动画

原文链接:http://blog.sina.com.cn/s/blog_89d90b7c0102vi4y.html Unity暂时没有单独给UGUI提供动画系统,用官方的动画系统也能做只是比较麻烦,所以我们有很多选择了. 1.修改NGUI的UITweener在用UGUI上,轻量级动画系统. 2.使用第三方插件入iTween,DoTween,HOTween等. 发现DoTween不错,就试试了. 先来看效果图: 这里用到了位置,旋转,缩放,颜色四个最主要的动画效果,暂时简单写一个例子,以便以后使用

atitit。html css框架Bootstrap  Foundation的比较与不同 attilax大总结

atitit.html css框架Bootstrap  Foundation的比较与不同 attilax大总结 1. Bootstrap  Foundation的比较与不同1 2. Bootstrap 教程2 2.1. Bootstrap 简介2 2.2. Bootstrap CSS2 2.3. Bootstrap 布局组件2 2.4. Bootstrap 插件3 2.5. Bootstrap 其他3 3. Bootstrap 的attilax总结3 4. 参考3 1. Bootstrap  F

Unity_UGUI_动画系统

Unity暂时没有单独给UGUI提供动画系统,用官方的动画系统也能做只是比较麻烦,所以我们有很多选择了. 1.修改NGUI的UITweener在用UGUI上,轻量级动画系统. 2.使用第三方插件入iTween,DoTween,HOTween等. 发现DoTween不错,就试试了. 先来看效果图: 这里用到了位置,旋转,缩放,颜色四个最主要的动画效果,暂时简单写一个例子,以便以后使用时查阅. 下载地址和详细使用说明如下. 下载地址:点击打开链接 文档地址:点击打开链接 下载之后复制到工程目录,VS