插件说明

DoTween是unity资源商店下一个做补间动画的常用插件,可以在资源商店中直接下载导入,通过unity工具栏的Tools/Demigiant/DoTween Utility Panel打开面板进行开启,并在代码中引用DG.Tweening的命名空间即可使用它的接口。

DoTween分专业版和免费版,以下仅针对免费版的操作进行总结。

接口使用

Dotween包括Tweener(补间,控制值并为其生成动画)、Sequnece(序列,控制多个补间作为组来处理)、Tween(通用词表示补间和序列)、NestedTween(嵌套补间,序列中包含的补间)四种命名法。

以及DO、Set、On的三种笼统上分别表示补间效果、参数设置、回调的前缀。

下面将从三种命名法分开来通过对每个接口的使用案例来对其进行说明,也方便接口的查阅

DO方法

Tweener

物体移动、旋转、缩放

transform.DOMove(Vector3.one, 2);//2秒移动到(1,1,1)位置
transform.DOMoveX(3f,2);//x移动到3.0位置
transform.DOLocalMove(Vector3.one, 2);//按自身坐标系移动到目标位置
transform.DORotate(Vector3.one*30, 2);//2秒旋转到(30,30,30)的角度
transform.DOScale(Vector3.one*20,2);//将物体的Scale2秒缩放到(20,20,20)

动画混合运算

//2秒移动到(1,1,1),即将移动到(4,4,4)和移动到(-3,-3,-3)进行了混合
transform.DOBlendableMoveBy(Vector3.one * 4, 2f);
transform.DOBlendableMoveBy(Vector3.one * (-3), 2f);

物体颤动及震动

transform.DOPunchPosition(new Vector3(3, 3, 3), 2, 3, 0.1f);//以颤动系数为0.1在2秒内经过三次颤动到达(3,3,3)位置
transform.DOShakePosition(3f, 1, 10, 90);//在3秒的时间内以强度为1、随机角度为90度震动10次

材质动画控制

颜色与透明度

Material mat = GetComponent<MeshRenderer>().material;
mat.DOColor(Color.red, "MainColor", 2);//将材质shader中属性MainColor在2秒内变为红色
mat.DOColor(Color.clear, "MainColor", 2);//将材质shader中属性MainColor在2秒内变透明
mat.DOFade(0, "MainColor", 2);//将材质shader中代表颜色的属性MainColor在2秒内将透明度变为0
mat.DOVector(Color.clear, "MainColor", 2);//将材质shader中属性MainColor在2秒内变透明

渐变

Gradient gradient;
mat.DOGradientColor(gradient ,"MainColor", 2);//2秒将材质的shader中属性MainColor变为预设渐变gradient