一、基本功能
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、更多接口说明