一、DOTween簡介

DOTween是一款針對(duì)Unity的快速高效、類型安全的面向?qū)ο蟮难a(bǔ)間動(dòng)畫引擎,并且對(duì)于C#用戶做出了很多的優(yōu)化。
兼顧速度與效率:
DOTween不僅非???,而且非常高效。因?yàn)橐磺卸急痪彺娌⒅赜?,以避免無用的GC分配。
智能感知和類型安全
所有代碼都是完整的XML注釋,并組織起來,以充分利用智能感知。此外,一切都是類型安全的,因?yàn)闆]有使用字符串。
使用方便快捷
DOTween的調(diào)用簡潔直觀,如下所示:
//在1秒內(nèi)將transform移動(dòng)到位置(1,2,3)
transform.DOMove(new Vector3(1,2,3),1);
transform.DOLocalMove(new Vector3(1,2,3),1);
//將transform的Y縮放值在1秒內(nèi)變?yōu)?
transform.DOScaleY(3,1);
//暫停transform的補(bǔ)間
transform.DOPause();
二、DOTween特性
非常準(zhǔn)確
時(shí)間以非常精確的方式計(jì)算。這意味著每1000秒的1000次循環(huán),每1000秒的循環(huán)播放完全一樣長。
邏輯易用的API
API旨在提高效率,直觀性和易用性。
一切皆可動(dòng)畫化
DOTween可以為每個(gè)數(shù)值和一些非數(shù)字值生成動(dòng)畫。甚至可以為字符串設(shè)置動(dòng)畫,并支持富文本。
捕捉,軸約束等選項(xiàng)
選擇關(guān)于如何補(bǔ)償值的其他選項(xiàng),如捕捉(捕捉值到整數(shù))或軸約束。
完全控制
播放,暫停,倒帶,重新啟動(dòng),完成,轉(zhuǎn)到和其他有用的方法來控制你的補(bǔ)間。
分組
將補(bǔ)間合并到序列中以創(chuàng)建復(fù)雜的動(dòng)畫。
可混合的補(bǔ)間
由于功能強(qiáng)大的Doblendable快捷鍵,有些補(bǔ)間可以實(shí)時(shí)相互融合。
路徑
沿著線性和彎曲的路徑動(dòng)畫材料,還可以為您的旅行社定位更多的選擇。
在播放時(shí)更改值和持續(xù)時(shí)間
即使在播放時(shí),也可以隨時(shí)更改補(bǔ)間的開始/結(jié)束值或持續(xù)時(shí)間。
安全模式
激活可選的安全模式,讓DOTween照顧意外的事件,比如補(bǔ)間目標(biāo)在玩耍時(shí)被銷毀。
協(xié)程
使用各種“WaitFor ...”方法在協(xié)同程序中使用,允許您等待補(bǔ)間完成,殺死,啟動(dòng)或使其達(dá)到給定的位置或循環(huán)。
多種旋轉(zhuǎn)模式
旋轉(zhuǎn)補(bǔ)片可以采用最短的路線,完整的路線,或使用本地或世界的軸。
共享方法
這是一個(gè)Tweener還是一個(gè)序列?誰在乎?他們都從Tween繼承,因此您可以以相同的方式存儲(chǔ)和控制它們。
插件
DOTween是建立在可擴(kuò)展架構(gòu)之上的,它允許您創(chuàng)建自己的補(bǔ)間插件作為單獨(dú)的文件。
附加功能
額外的虛擬方法來做一些事情,比如在給定的延遲之后調(diào)用一個(gè)函數(shù)。
所有的基礎(chǔ)
回調(diào),循環(huán),減速(包括AnimationCurves和定制減速功能),SpeedBased和許多其他補(bǔ)間選項(xiàng)。此外,更新類型的選擇:regular,fixed,late,加上選項(xiàng)使其與時(shí)間無關(guān)。
三、DOTween工具面板

DOTween的工具面板,可讓您設(shè)置默認(rèn)DOTween設(shè)置,選項(xiàng),檢查更新等。
DOTween檢視窗口

如果您在運(yùn)行時(shí)選中了DOTween GameObject,則相應(yīng)的檢視窗口將顯示常用的信息,以及直接打開在線文檔的按鈕,并檢查是否具有最新版本。
DOTween的性能優(yōu)勢(shì)(與其他補(bǔ)間動(dòng)畫引擎比較)
在一個(gè)循環(huán)中處理64000個(gè)通用浮點(diǎn)數(shù):

在循環(huán)中處理4000個(gè)transform

DOTween Pro
DOTween Pro脫胎于DOTween的免費(fèi)版本,并以其為基礎(chǔ)擴(kuò)展出了新的腳本快捷使用方式。它還包括可視化動(dòng)畫編輯器,可視化路徑編輯器。而且Pro版本能無縫擴(kuò)展2D Toolkit和TextMesh Pro的功能。

四、安裝步驟
1、導(dǎo)入DOTween插件
導(dǎo)入新的DOTween更新后,您必須設(shè)置DOTween才能根據(jù)您的Unity版本導(dǎo)入/重新導(dǎo)入其他庫。
要設(shè)置DOTween,請(qǐng)從“Tools / Demigiant”菜單中打開DOTween 工具面板,然后從出現(xiàn)的面板中選擇“Setup DOTween ...”。

2、引入DOTween命名空間
請(qǐng)?jiān)谀褂肈OTween的類/腳本中加入如下引用:
using DG.Tweening;
3、初始化(可選)
static DOTween.Init(bool recycleAllByDefault = false, bool useSafeMode = true, LogBehaviour logBehaviour = LogBehaviour.ErrorsOnly)
//示例A:使用DOTween的工具面板中設(shè)置的首選項(xiàng)進(jìn)行初始化
DOTween.Init();
//示例B:使用自定義設(shè)置進(jìn)行初始化,并立即設(shè)置容量
DOTween.Init(true,true,LogBehaviour.Verbose).SetCapacity(200,10);
如果您不調(diào)用(或者在創(chuàng)建第一個(gè)補(bǔ)間)之后,DOTween將使用默認(rèn)設(shè)置自動(dòng)初始化,但是您仍然可以隨時(shí)更改它們。
五、結(jié)語
通過對(duì)DOTween的簡單了解,感覺這個(gè)庫還是蠻強(qiáng)大的,基本上能滿足各種動(dòng)畫的需求,性能也相當(dāng)出色,最關(guān)鍵是它是對(duì)Unity原生API進(jìn)行擴(kuò)展,使用非常便捷。
接下來準(zhǔn)備再通過一章簡單介紹DOTween的用法,敬請(qǐng)期待。