DOTween动画插件详解


1. 官网下载插件http://dotween.demigiant.com/download.php

2. 基础操作

 1 //移动
 2 transform.DOMove(new Vector3(5, 5, 5), 3);  //参数1:移动终点  参数2:移动时长 参数3:默认false,true会直接移动到终点
 3 transform.DOMoveX(1, 3);  //参数1:x轴的位移量 参数2:移动时长  y、z轴同理
 4 transform.DOLocalMove(new Vector3(5, 5, 5), 3);  //移动局部坐标,参数1是局部坐标
 5 //旋转
 6 transform.DORotate(new Vector3(0, 0, 180), 3);  //参数1:对应每个轴的旋转角度 参数2:旋转时长   DOLocalRotate同理
 7 transform.DOLookAt(Vector3.one, 2);  //看向目标点的缓动动画
 8 //缩放
 9 transform.DOScale(-1f, 2);  //先缩放至0,再放大|-1|倍   也可以单独缩放某一个轴 DOScaleX/DOScaleY/DOScaleZ 注意可以获取localScale,但没有局部缩放方法!!!
10 //Punch(来回弹的效果)
11 transform.DOPunchPosition(Vector3.up, 5, 10, 0,true);  //参数1:每个方向力的大小 参数2:持续时间 参数3:频率 参数4:[0,1]弹力 参数4:断裂,没有过渡
12 //震动
13 transform.DOShakePosition(5, 5, 10, 180, true); //参数1:持续时间 参数2:施加力的大小 参数3:频率 参数4:改变振动方向的随机值[0,180] 参数4:淡出
14 //增量运动
15 transform.DOBlendableMoveBy(Vector3.one, 2);  
16 //例如与transform.DOMove(Vector3.one, 0)一起执行,结果是(2,2,2)
17 //与transform.DOMove(Vector3.one, 2)一起执行,结果是(1,1,1)
18 //与transform.DOMove(Vector3.one, 1)一起执行,结果是(1.25,1.25,1.25)
19 //颜色变幻
20 GetComponent().material.DOColor(Color.green, 3);  //当前色在3秒内向绿色过渡
21 GetComponent().material.DOBlendableColor(Color.blue, 3);  //增量颜色,同理
22 //补充:两个DOBlendableColor,可以实现颜色叠加
23 GetComponent().material.DOFade(0,3);  //更改透明度
24 //材质偏移
25 GetComponent().material.DOOffset(Vector2.one, 2); 

2.相机相关

 1 Camera.main.DOAspect(0.6f, 2); //调节宽高比
 2 Camera.main.DOColor(Color.red, 2); //调节相机的background
 3 Camera.main.DONearClipPlane(1, 3); //参数1对应Clipping Planes -> Near
 4 Camera.main.DOFarClipPlane(800, 3);  //参数1对应Clipping Planes -> Far
 5 Camera.main.DOFieldOfView(179, 3);  //参数1对应Field of View
 6 Camera.main.DOOrthoSize(5, 2);  //参数1对应正交相机下的Size
 7 
 8 //改变相机的Viewport Rect,两条等价,一个通过像素大小更改,一个通过比例
 9 Camera.main.DOPixelRect(new Rect(640, 360, 640, 360), 2);  
10 Camera.main.DORect(new Rect(0.5f, 0.5f, 0.5f, 0.5f), 2);