最新版插件网盘下载:
DOTween Pro v1.0.155.unitypackage
https://pan.baidu.com/s/1UaVZI_-A4dy4gK9ByijHhg
(若不会导入插件请百度“怎么导入unitypackage”)
功能一:设置路径,使物体按照轨迹运动
效果图:
步骤:
新建一个物体,给它添加下图组件:
组件常用参数说明:
AutoPlay:自动播放动画
AutoKill:自动删除动画
Duration:动画时长
Delay:延迟时长(过一段时间再播放)
Ease:动画播放的速度曲线
Loop:循环的次数(-1表示一直执行)
LoopType:循环模式(Restart:重新开始,Yoyo:来回摆动,Incremental:增量模式)
PathType:路径模式(CatmullRom:曲线;Linear:直线)
ClosePath:路径是否首尾相连
LocalMovement:是否是本地坐标
Orientation:运动朝向(ToPath:朝向路径方向,Look At Transform:朝向物体,Look At Position:朝向坐标点)
Events中是动画各状态时的对应事件添加按钮,和Button的触发事件添加方法一样
按钮触发动画的播放和暂停:
将这个带有动画的物体拖拽到按钮的触发事件上,然后选择下图这个DOTogglePause函数:
给动画添加路径的方法:
展开WayPoints,点击加号添加节点,然后在编辑界面可以拖拽这个节点到任意位置。
功能二:实现字的逐个显示
效果图:
步骤:
新建脚本Main.cs,内容:
using UnityEngine;
using DG.Tweening;
using UnityEngine.UI;
public class Main : MonoBehaviour {
public Text Te; //文本
void Start() {
Te.DOText("这是哪?\n我怎么会在这?\n哦\n我在上课", 5).SetEase(Ease.Linear);
Te.DOColor(new Color(0.8f, 0.3f, 0.3f, 1), 5);
}
}
/*5表示动画时长为5秒
SetEase里面的参数是显示速度的曲线类型,这里用的是匀速
DOColor函数可以使字体颜色渐变至目标颜色
将脚本赋给一个空物体,并把Text对象拖拽至代码的Te变量上即可。
功能三:控制物体/面板的移动
效果图:
步骤:
1.新建脚本Main2.cs如下:
using UnityEngine;
using DG.Tweening;
using UnityEngine.UI;
public class Main2 : MonoBehaviour {
void Start() {
Tweener t = transform.DOLocalMove(new Vector3(3,0,0), 0.5f).SetEase(Ease.InOutQuint); //移动物体
t.SetAutoKill(false); //取消自动销毁
t.Pause(); //设置暂停
}
public void OnClickButton() {
if (!IsShow) { //移动物体
transform.DOPlayForward(); //动画播放
IsShow = true;
}
else {
transform.DOPlayBackwards(); //动画倒放
IsShow = false;
}
}
}
将脚本赋给需要被移动的物体。
2.新建一个button,在button的触发事件中添加上面的OnClickButton函数即可。
功能三:抖动相机/物体
效果图:
步骤:
新建脚本Shake.cs如下:
using UnityEngine;
using DG.Tweening;
public class Shake : MonoBehaviour {
void Start() {
transform.DOShakePosition(10, new Vector3(1, 1, 0), 30, 360, false, false);
}
}
然后拖拽至需要震动的物体上即可。
函数说明:
重载说明:(从末端去掉几个参数也可以)
Tweener DOShakePosition(float duration, Vector3 strength, int vibrato, float randomness, bool snapping, bool fadeOut);
Tweener DOShakePosition(float duration, float strength, int vibrato, float randomness, bool snapping, bool fadeOut);
参数说明:
duration:震动时长
strength:震动幅度(Vector3表示在长宽高为x,y,z的立方体中震动)
vibrato:震动频率
randomness:角度突变的最大值(值越大震动越随机)
snapping:震动时是否对位置取整
fadeOut:震动快结束的时候是否慢慢停下来
其它说明:
函数返回值可赋值给Tweener类型变量,用于控制动画其它细节和添加状态函数。
功能四:给任何变量做插值
DOTween.To(() => 变量名, x => 变量名 = x, 目标值, 时间);
这种写法可以给任何变量做插值变化,比如颜色过渡,相机视角拉伸、尺寸过渡、旋转过渡等