一、移动、旋转、缩放
using UnityEngine;
using DG.Tweening;
public class Test : MonoBehaviour
{
void Start()
{
//transform.DOMove(Vector3.one, 2f);//移动(世界坐标)
//transform.DOLocalMove(Vector3.one, 2f);//移动(局部坐标)
//transform.DOLocalMoveX(1f, 2f);//沿着X轴移动(局部坐标)
//transform.DORotate(new Vector3(45, 45, 45), 2);//旋转(世界坐标)
//transform.DOLocalRotate(new Vector3(45, 45, 45), 2);//旋转(局部坐标)
//transform.DORotateQuaternion(new Quaternion(0.1f, 0.1f, 0.1f, 0.1f), 2);//四元数旋转
//transform.DOLookAt(Vector3.one, 2f);//Z轴正方向朝向(看向)
transform.DOScale(Vector3.one * 2, 2f);//缩放
}
}
二、Punch函数
using UnityEngine;
using DG.Tweening;
public class Test : MonoBehaviour
{
void Start()
{
//参数1:punch代表力的方向和大小
//参数2:duration 代表持续时间
//参数3:震动次数(频率)
//参数4:取值范围:0-1
//transform.DOPunchPosition(new Vector3(0, 2, 0), 3, 10, 0.1f);
//transform.DOPunchRotation(new Vector3(0, 60, 0), 3, 10, 0.1f);
transform.DOPunchScale(new Vector3(1, 1, 1), 3, 10, 0.1f);
}
}
三、Shake震动函数
using UnityEngine;
using DG.Tweening;
public class Test : MonoBehaviour
{
void Start()
{
//参数1:持续时间
//参数2:力的方向和大小(范围)
//参数3:频率
//参数4:随机数
//参数5:淡入淡出
transform.DOShakePosition(10, Vector3.one, 10, 90, true);
}
}
四、Blend混合函数
using UnityEngine;
using DG.Tweening;
public class Test : MonoBehaviour
{
void Start()
{
//Blend 动画混合
transform.DOBlendableMoveBy(Vector3.one, 2);
transform.DOBlendableMoveBy(-2 * Vector3.one, 2);
}
}
五、材质
using UnityEngine;
using DG.Tweening;
public class Test : MonoBehaviour
{
public Gradient gradient;//渐变色
void Start()
{
Material mat = GetComponent().material;
//mat.SetColor("_Color", Color.red);
//mat.DOColor(Color.red, "_Color", 2f);//注意:_Color不唯一,需根据Shader中颜色变量名来输入。
//mat.DOColor(Color.clear, "_Color", 2f);
//mat.DOFade(0, "_Color", 2f);//透明度
//mat.DOGradientColor(gradient, "_Color", 2f);//渐变
//mat.DOOffset
//mat.DOVector(Color.clear, "_Color", 2f);
//颜色混合
mat.DOBlendableColor(Color.red, 2f);
mat.DOBlendableColor(Color.green, 2f);
}
}
六、Text
using UnityEngine;
using DG.Tweening;
using UnityEngine.UI;
public class Test : MonoBehaviour
{
public Text txt;
void Start()
{
//txt.DOColor(Color.red, 2f);//颜色
//txt.DOFade(0f, 2f);//透明度
//txt.DOBlendableColor //颜色混合
//txt.DOText("莫道桑榆晚,为霞尚满天",3f);//打字机
txt.DOText("莫道桑榆晚,为霞尚满天",3f).SetEase(Ease.Linear);//匀速打字效果
}
}
七、队列
using UnityEngine;
using DG.Tweening;
public class Test : MonoBehaviour
{
void Start()
{
//按照动画播放顺序,依次添加动画
Sequence quenece = DOTween.Sequence();
quenece.Append(transform.DOMove(Vector3.one, 2f));//第一次执行的动画
quenece.AppendInterval(1f);//间隔1秒
quenece.Append(transform.DORotate(new Vector3(90, 0, 0), 2));//第二次执行的动画
}
}
using UnityEngine;
using DG.Tweening;
public class Test : MonoBehaviour
{
void Start()
{
//按照动画播放顺序,依次添加动画
Sequence quenece = DOTween.Sequence();
quenece.Append(transform.DOMove(Vector3.one, 2f));//前2秒的动画
quenece.Join(transform.DOScale(2 * Vector3.one, 2f));//同时播放的前2秒动画
quenece.AppendCallback(AppendCallBack);//添加Append回调
quenece.AppendInterval(1f);//间隔1秒(第3秒)
quenece.Append(transform.DORotate(new Vector3(90, 0, 0), 2));//第4秒往后播的2秒动画
quenece.Join(transform.DOScale(Vector3.one, 2f));//同时播放的后2秒动画
//quenece.Insert(0,transform.DOMove(-Vector3.one, 2f));//从第0秒开始插入一条2秒的动画
//quenece.Insert(100, transform.DOScale(Vector3.one, 2f));//动画也可以向后插
quenece.PrependInterval(1);//预间隔1秒
quenece.Prepend(transform.DOMove(-Vector3.one * 2, 2f));//预添加(放到动画最开头)
quenece.PrependCallback(PrependCallBack);//添加Prepend回调
//回调
quenece.InsertCallback(5, InsertCallBack);
}
private void InsertCallBack()
{
Debug.Log("Insert回调");
}
private void AppendCallBack()
{
Debug.Log("Append回调");
}
private void PrependCallBack()
{
Debug.Log("Prepend回调");
}
}
八、设置参数