Unity 动画一:DOTween简单了解

一、DOTween简介

image

DOTween是一款针对Unity的快速高效、类型安全的面向对象的补间动画引擎,并且对于C#用户做出了很多的优化。

兼顾速度与效率
DOTween不仅非常快,而且非常高效。因为一切都被缓存并重用,以避免无用的GC分配。

智能感知和类型安全
所有代码都是完整的XML注释,并组织起来,以充分利用智能感知。此外,一切都是类型安全的,因为没有使用字符串。

使用方便快捷

DOTween的调用简洁直观,如下所示:

//在1秒内将transform移动到位置(1,2,3)
transform.DOMove(new Vector3(1,2,3),1);
transform.DOLocalMove(new Vector3(1,2,3),1);

//将transform的Y缩放值在1秒内变为3
transform.DOScaleY(3,1);

//暂停transform的补间
transform.DOPause();

二、DOTween特性

非常准确

时间以非常精确的方式计算。这意味着每1000秒的1000次循环,每1000秒的循环播放完全一样长。

逻辑易用的API

API旨在提高效率,直观性和易用性。

一切皆可动画化

DOTween可以为每个数值和一些非数字值生成动画。甚至可以为字符串设置动画,并支持富文本。

捕捉,轴约束等选项

选择关于如何补偿值的其他选项,如捕捉(捕捉值到整数)或轴约束。

完全控制

播放,暂停,倒带,重新启动,完成,转到和其他有用的方法来控制你的补间。

分组

将补间合并到序列中以创建复杂的动画。

可混合的补间

由于功能强大的Doblendable快捷键,有些补间可以实时相互融合。

路径

沿着线性和弯曲的路径动画材料,还可以为您的旅行社定位更多的选择。

在播放时更改值和持续时间

即使在播放时,也可以随时更改补间的开始/结束值或持续时间。

安全模式

激活可选的安全模式,让DOTween照顾意外的事件,比如补间目标在玩耍时被销毁。

协程

使用各种“WaitFor ...”方法在协同程序中使用,允许您等待补间完成,杀死,启动或使其达到给定的位置或循环。

多种旋转模式

旋转补片可以采用最短的路线,完整的路线,或使用本地或世界的轴。

共享方法

这是一个Tweener还是一个序列?谁在乎?他们都从Tween继承,因此您可以以相同的方式存储和控制它们。

插件

DOTween是建立在可扩展架构之上的,它允许您创建自己的补间插件作为单独的文件。

附加功能

额外的虚拟方法来做一些事情,比如在给定的延迟之后调用一个函数。

所有的基础

回调,循环,减速(包括AnimationCurves和定制减速功能),SpeedBased和许多其他补间选项。此外,更新类型的选择:regular,fixed,late,加上选项使其与时间无关。

三、DOTween工具面板

image

DOTween的工具面板,可让您设置默认DOTween设置,选项,检查更新等。

DOTween检视窗口

image

如果您在运行时选中了DOTween GameObject,则相应的检视窗口将显示常用的信息,以及直接打开在线文档的按钮,并检查是否具有最新版本。

DOTween的性能优势(与其他补间动画引擎比较)

在一个循环中处理64000个通用浮点数:

image

在循环中处理4000个transform

image

DOTween Pro

DOTween Pro脱胎于DOTween的免费版本,并以其为基础扩展出了新的脚本快捷使用方式。它还包括可视化动画编辑器,可视化路径编辑器。而且Pro版本能无缝扩展2D Toolkit和TextMesh Pro的功能。

image

四、安装步骤

1、导入DOTween插件

导入新的DOTween更新后,您必须设置DOTween才能根据您的Unity版本导入/重新导入其他库。

要设置DOTween,请从“Tools / Demigiant”菜单中打开DOTween 工具面板,然后从出现的面板中选择“Setup DOTween ...”。

image

2、引入DOTween命名空间

请在您要使用DOTween的类/脚本中加入如下引用:

using DG.Tweening;

3、初始化(可选)

static DOTween.Init(bool recycleAllByDefault = false, bool useSafeMode = true, LogBehaviour logBehaviour = LogBehaviour.ErrorsOnly)

//示例A:使用DOTween的工具面板中设置的首选项进行初始化

DOTween.Init();

//示例B:使用自定义设置进行初始化,并立即设置容量

DOTween.Init(true,true,LogBehaviour.Verbose).SetCapacity(200,10);

如果您不调用(或者在创建第一个补间)之后,DOTween将使用默认设置自动初始化,但是您仍然可以随时更改它们。

五、结语

通过对DOTween的简单了解,感觉这个库还是蛮强大的,基本上能满足各种动画的需求,性能也相当出色,最关键是它是对Unity原生API进行扩展,使用非常便捷。

接下来准备再通过一章简单介绍DOTween的用法,敬请期待。

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 159,117评论 4 362
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 67,328评论 1 293
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 108,839评论 0 243
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 44,007评论 0 206
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 52,384评论 3 287
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 40,629评论 1 219
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 31,880评论 2 313
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 30,593评论 0 198
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 34,313评论 1 243
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 30,575评论 2 246
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 32,066评论 1 260
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 28,392评论 2 253
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 33,052评论 3 236
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 26,082评论 0 8
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 26,844评论 0 195
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 35,662评论 2 274
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 35,575评论 2 270

推荐阅读更多精彩内容

  • 【Android 动画】 动画分类补间动画(Tween动画)帧动画(Frame 动画)属性动画(Property ...
    Rtia阅读 5,958评论 1 38
  • ...
    李昀熹1112阅读 3,499评论 0 40
  • Unity编辑器基础 1.请描述游戏动画有几种,以及其原理。 主要有关节动画、单一网格模型动画(关键帧动画)、骨骼...
    豆铮阅读 4,264评论 0 6
  • 我出生在潮汕的小城里,那里比较重男轻女,但我出生的年代和我的家庭并没有这么浓烈的气息,所以并没有因为我是女孩子而得...
    解忧杂货铺Joyce阅读 394评论 0 0
  • 孟姜女哭倒长城 秦始皇时,劳役繁重,青年男女范喜良、孟姜女新婚三天,新郎就被迫出发修筑长城,不久因饥寒劳...
    高汝凯阅读 733评论 0 3