补间动画——DoTween

1.引入using DG.Tweening的命名空间

1.移动
transform.DOMove(要移动到的指定位置,移动到指定位置需要的时间);
transform.DOMoveX(要移动到的指定位置X,移动到指定位置X需要的时间);
transform.DOMoveY(要移动到的指定位置Y,移动到指定位置Y需要的时间);
transform.DOMoveZ(要移动到的指定位置Z,移动到指定位置Z需要的时间);
transform.DOLocalMove(要移动到的指定位置,移动到指定位置需要的时间);
transform.DOLocalMoveX(要移动到的指定位置X,移动到指定位置X需要的时间);
transform.DOLocalMoveY(要移动到的指定位置Y,移动到指定位置Y需要的时间);
transform.DOLocalMoveZ(要移动到的指定位置Z,移动到指定位置Z需要的时间);

transform.DOLookAt(要朝向的指定位置,朝向到指定位置需要的时间);

2.旋转
transform.DORotate(要旋转到的指定位置,旋转到指定位置需要的时间);
transform.DOLocalRotate(要旋转到的指定位置,旋转到指定位置需要的时间);

3.缩放
transform.DOScale(要缩放的值,缩放到指定的值需要的时间);
transform.DOScaleX(要缩放的X值,缩放到指定的X值需要的时间);
transform.DOScaleY(要缩放的Y值,缩放到指定的Y值需要的时间);
transform.DOScaleZ(要缩放的Z值,缩放到指定的Z值需要的时间);

4.震动
transform.DOShakePosition(持续时间,[震动强度],[震动次数],[震动的随机性]);
transform.DOShakeRotation(持续时间,[震动强度],[震动次数],[震动的随机性]);
transform.DOShakeScale(持续时间,[震动强度],[震动次数],[震动的随机性]);

5.融合移动
//1.用Blend实现的值会相加 融合到一起(例如初始点为(1,1,1),两次移动的值分别为(1,1,1)和(-1,-1,-1)则移动到的值为(1,1,1))
//2.用Blend实现的是增量动画(例如初始点是(1,1,1),移动(1,1,1)则移动到的值为(2,2,2))

transform.DOBlendableMoveBy(要移动到的指定位置,移动到指定位置需要的时间);
transform.DOBlendableMoveBy(要移动到的指定位置,移动到指定位置需要的时间);

transform.DOBlendableRotateBy(要旋转到的指定位置,旋转到指定位置需要的时间);
transform.DOBlendableRotateBy(要旋转到的指定位置,旋转到指定位置需要的时间);

transform.DOBlendableScaleBy(要缩放的值,缩放到指定的值需要的时间);
transform.DOBlendableScaleBy(要缩放的值,缩放到指定的值需要的时间);

transform.DOBlendableLocalMoveBy(要移动到的指定位置,移动到指定位置需要的时间);
transform.DOBlendableLocalMoveBy(要移动到的指定位置,移动到指定位置需要的时间);

transform.DOBlendableLocalRotateBy(要旋转到的指定位置,旋转到指定位置需要的时间);
transform.DOBlendableLocalRotateBy(要旋转到的指定位置,旋转到指定位置需要的时间);

m.DOBlendableColor(要改变到的指定颜色,改变到指定颜色需要的时间);
m.DOBlendableColor(要改变到的指定颜色,改变到指定颜色需要的时间);

text.DOBlendableColor(要改变到的指定颜色,改变到指定颜色需要的时间);
text.DOBlendableColor(要改变到的指定颜色,改变到指定颜色需要的时间);

6.改变颜色
m.DOColor(要改变到的指定颜色,["需要改变的Shader的名字"(若Shader类型没有_Color则需要传递名字)],改变到指定颜色需要的时间);

7.改变透明度
GetComponent<Image>().DOFade(要改变到的指定Alpha值, 改变到的指定Alpha值需要的时间);

8.相机的一些操作
camera.DOAspect(宽高比的值,改变到指定宽高比需要的时间);
camera.DOColor(要改变到的指定颜色,改变到指定颜色需要的时间);
camera.DOFarClipPlane(要改变到的远切面的值,改变到指定远切面的值需要的时间);
camera.DONearClipPlane(要改变到的近切面的值,改变到指定近切面的值需要的时间);
camera.DOFieldOfView(要改变到的视野范围的值(透视相机),改变到指定视野范围的值需要的时间); 
camera.DOOrthoSize(要改变到的视野范围的值(正交相机),改变到指定视野范围的值需要的时间);
camera.DOPixelRect(显示的相机范围(用多个相机实现分屏效果),改变到指定视野范围的值需要的时间);
camera.DORect(显示的相机范围(用多个相机实现分屏效果0-1比例),改变到指定视野范围的值需要的时间);
camera.DOShakePosition(持续时间,[震动强度],[震动次数],[震动的随机性]);
camera.DOShakeRotation(持续时间,[震动强度],[震动次数],[震动的随机性]);

9.文本的一些操作
text.DOColor(要改变到的指定颜色,改变到指定颜色需要的时间);
text.DOFade(要改变到的指定Alpha值, 改变到的指定Alpha值需要的时间);
 text.DOText(要显示的文字,显示全部文字需要的时间);

10.Sequence( Sequence queue = DOTween.Sequence();)
 //1.将动画添加到队列中 
queue.Append(Tween类型的动画);

//2.添加队列中动画的时间间隔
queue.AppendInterval(间隔时间);

//3.插入一个动画到队列中指定的时间点(插入的时间点将会覆盖同时间点同类型的动画)
 queue.Insert(插入的时间点,Tween类型的动画);

//4.同时间点播放两种类型的动画(插入的动画与上一个用Append添加的Tween类型的动画一同播放)
 queue.Join(Tween类型的动画);

//5.预添加动画(反向执行类似于栈 后添加的先执行)
 queue.Prepend(Tween类型的动画);
 queue.PrependInterval(间隔时间);

//6.回调函数
quence.AppendCallback(函数名);
quence.PrependCallback(函数名);
quence.InsertCallback(插入的时间点,函数名);

11.一些设置的方法
tween.SetLoops(循环次数(负数为无限循环),[循环类型]);
tween.SetAutoKill([是否从缓存中清除掉]);
tween.From([是否为一个增量运动]);
tween.SetDelay(延迟的时间);
tween.SetSpeedBased([是否以速度为基准]);
tween.SetId("设置的ID名");
tween.SetRecyclable(是否回收);
tween.SetRelative(是否为一个增量动画);
tween.SetUpdate(Update类型,[是否忽略时间缩放]);
tween.SetEase(DoTween内置的枚举运动类型);
tween.SetEase(AnimationCurve curve(在面板中设置曲线));

12.回调函数
tween.OnComplete(() => 方法);
tween.OnPlay(() => 方法);
tween.OnKill(() => 方法);
tween.OnPause(() => 方法);
tween.OnUpdate(() => 方法);
tween.OnRewind(() => 方法);

13.协程控制动画(与回调函数实现的功能一样)
 private IEnumerator Wait()
    {
        yield return tween.WaitForCompletion();
        yield return tween.WaitForPosition(等待的时间);
        yield return tween.WaitForElapsedLoops(等待指定的循环次数);
        //执行的操作
    }

14.路径动画
transform.DOPath(Vector3数组,持续时间,[点与点的连接类型]);

//将Transform数组转化为Vector3数组
using System.Linq;
public Transform[] wayPoints;
Vector3[] vector = wayPoints.Select(u => u.position).ToArray();

15.可视化编辑
DoTweenAnimation组件
DoTweenPath组件

 

猜你喜欢

转载自blog.csdn.net/LLLLL__/article/details/88628065
今日推荐