DoTween插件调研

1,606 阅读2分钟

一、基本功能

1、 动画效果

  • 位置移动、旋转角度、放大缩小
  • 颜色渐变、文字的打字效果
  • 声音渐变

2、动画设置及回调

3、动画组

二、如何使用

1、生成动画

  • DOTween.To():改变数值,再将数值用于相关对象
// 参数1:进行改变的值
// 参数2:每次改变后返回的值
// 参数3:目标值
// 参数4:持续时间
DOTween.To (() => myValue, x => transform.position = new Vector3 (x, 0, 0), 5, 5);
  • Unity内置对象扩展方法,直接进行动画
// 物体3秒从当前位置移动到世界坐标(4,3,0)位置
transform.DOMove(new Vector3(4, 3, 0), 3); 
......

2、动画设置及回调

  • 动画设置:Tweener对象,可链式调用
Tweener tweener = transform.DOMove(new Vector3(3, 4, 0), 2);
tweener.Pause();               // 暂停,防止自动播放  
tweener.SetAutoKill(false);    // 关闭动画自动销毁
tweener.PlayForward();         // 动画正放
tweener.PlayBackwards();       // 动画倒放
tweener.SetEase(Ease.InCubic); // 由慢到快
......
  • 动画回调
Tweener tweener = transform.DOMove(new Vector3(3, 4, 0), 2);
// 在动画播放前调用事件,on_tween_start:函数名
tweener.OnStart(on_tween_start); 
// 在动画播放后调用事件,on_tween_end:函数名
tweener.OnComplete(this.on_tween_end); 
......

3、动画组:Sequence

Sequence mySequence = DOTween.Sequence();
// 追加一个动画,追加的动画顺序执行
mySequence.Append(transform.DOMoveX(45, 1));
// 在某个时间点插入一个动画
mySequence.Insert(0, transform.DOScale(new Vector3(3,3,3), mySequence.Duration()));
// delay某个时间后执行
mySequence.PrependInterval(1);
// 添加一个回调
mySequence.AppendCallback(  () => {  
    // 回调代码
}) 

四、使用技巧

1、方法前缀

  • DO:快捷方式,直接进行动画,对象包括Unity内置类和DOTween类
  • Set:设置动画:循环次数、暂停、重新开始等
  • On:设置动画回调

2、全局设置DOTween

// 自定义配置,非必须
DOTween.Init(true, true, LogBehaviour.Verbose).SetCapacity(200, 10);

五、补充部分

1、Ease缓动函数

可模拟现实物体运动:拉抽屉(先快后慢)、小球自由落体(越来越快落地反弹)、抛物线等。

更多缓动效果:

2、DOTweenPath

轨迹移动,可指定物体按设置轨迹运动,实现如场景漫游(移动摄像机)、塌方路径等效果

3、Text文本动画

飘字效果:

4、Camera震动,可实现游戏放大招的效果

5、更多接口说明

blog.csdn.net/zcaixzy5211…