unity中的DoTween动画插件

本文详细介绍Unity中DoTween插件的使用方法,包括变量动画、控制3D对象与UI动画、动画控制、属性设置、文字动画、屏幕震动、颜色渐变等,通过具体代码示例帮助读者快速掌握DoTween的高级应用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

目录

 

1.导入DoTween插件(DOTween Pro v0.9.290.unitypackage)

2.对变量进行动画

3.控制cube的动画

4.控制UI面板的动画

5.动画的快捷播放方式

6.动画的前放和倒放

7.From Tweens

8.动画的属性设置

9.对话框文字动画

10.屏幕震动效果

11.颜色和透明度渐变动画

12.动画的组件可视化

13.DoTweenPath路径编辑器的使用


1.导入DoTween插件(下载地址:https://pan.baidu.com/s/1Ri4DuHrb9KIpPxMXyoNgng

2.对变量进行动画

using UnityEngine;
using DG.Tweening;

public class GetStart : MonoBehaviour {
    public Vector3 myValue = new Vector3(0, 0, 0);
    void Start()
    {
        DOTween.To(() => myValue, x => myValue = x, new Vector3(10, 10, 10), 2);
    }
}

 

3.控制cube的动画

using DG.Tweening;
using UnityEngine;

public class GetStart : MonoBehaviour
{
    public Vector3 myValue = new Vector3(0, 0, 0);
    public Transform cubeTransform;
    private void Start()
    {
        DOTween.To(() => myValue, x => myValue = x, new Vector3 (6,6,6), 2);
    }
    private void Update()
    {
        cubeTransform .position = myValue;
    }
}

 

4.控制UI面板的动画

using DG.Tweening;
using UnityEngine;

public class GetStart : MonoBehaviour
{
    public static  Vector3 myValue = new Vector3(385, 0, 0);
    public Transform cubeTransform;
    public RectTransform taskPanelTransform;
    private void Start()
    {
        DOTween.To(() => myValue, x => myValue = x, new Vector3 (0,0,0), 2);
    }
    private void Update()
    {
        taskPanelTransform .localPosition  = myValue;
    }
}

 

5.动画的快捷播放方式

using DG.Tweening;
using UnityEngine;

public class MyButton : MonoBehaviour
{
    public RectTransform panelTransform;
    public void OnClick()
    {
       panelTransform .DOLocalMove(new Vector3(0, 0, 0), 2);
    }
}

 

6.动画的前放和倒放

using DG.Tweening;
using UnityEngine;

public class MyButton : MonoBehaviour
{
    public RectTransform panelTransform;
    private bool isIn = false;
    private void Start()
    {
        Tweener tweener = panelTransform.DOLocalMove(new Vector3(0, 0, 0), 0.3f);//动画播放完成会默认被销毁,现在我们不想让他销毁。Tweener对象保存这个动画的信息,每次调用do类型的方法都会创建一个Tweener对象
        tweener.SetAutoKill(false);//把自动销毁设置为false
        tweener.Pause();
    }
    public void OnClick()
    {
      if(isIn ==false)
        {
            panelTransform.DOPlayForward();
            isIn = true;
        }
        else
        {
            panelTransform.DOPlayBackwards();
            isIn = false;
        }
    }
}

 

7.From Tweens

8.动画的属性设置

using UnityEngine;
using DG.Tweening;

public class MyPanel : MonoBehaviour {
   
	void Start () {
        Tweener tweener = transform.DOLocalMoveX(0, 2);
        tweener.SetEase(Ease.OutBounce);//设置动画曲线
        tweener.OnComplete(OnTweenComplete);//调用方法
        tweener.SetLoops(2);     //动画循环2次
    }
    void OnTweenComplete()
    {
        Debug.Log("动画播放完了");
    }

}

 

9.对话框文字动画

using UnityEngine;
using DG.Tweening;
using UnityEngine.UI;

public class MyText : MonoBehaviour {

    private Text text;
	void Start () {
        text = GetComponent<Text>();
        text.DOText("大家好,我是李疆",3);
        
	}
}

 

10.屏幕震动效果

using UnityEngine;
using DG.Tweening;

public class MyShakeCamera : MonoBehaviour {

	void Start () {
        transform.DOShakePosition(1, new Vector3(3, 3, 0));
        //摄像机只在x,y方向上震动,最大偏移距离为3,震动1秒
    }
}

 

11.颜色和透明度渐变动画

using UnityEngine;
using DG.Tweening;
using UnityEngine.UI;
public class TextColorTween : MonoBehaviour {
    private Text text;
	void Start () {
        text = GetComponent<Text>();
        text.text = "大家好,我是李疆";
        text.DOFade(1, 3);
        text.DOColor(Color.red, 3);
	}
}

 

12.动画的组件可视化

using UnityEngine;
using DG.Tweening;

public class Panel2 : MonoBehaviour {

    private DOTweenAnimation tweenAnimation;
    private bool isShow = false ;
	void Start () {
        tweenAnimation = GetComponent<DOTweenAnimation>();
	}
    public void OnClick()
    {
        if (isShow == true)
        {
            tweenAnimation.DOPlayBackwards();
            isShow = false;
        }
        else
        {
            tweenAnimation.DOPlayForward();
            isShow = true;
        }
    }
}

 

13.DoTweenPath路径编辑器的使用

 

DOTween是一种快速,高效,完全类型安全的面向对象的动画引擎的团结,以优化C#用户,免费和开源,用吨的先进功能。 DOTweenUnity版本2018至3.5兼容。 适用于: Win,Mac,Linux,Unity WebPlayer,WebGL,iOS,Android, Windows Phone,Windows Store,PS Vita(PSM),PS4,Xbox One,Nintendo Switch +更多(没有测试其他平台但它应该工作除了使用Flash导出以外的所有地方。 特征 速度和效率 不仅非常快,而且非常高效:所有内容都被缓存并重复使用,以避免无用的GC分配。 智能感知和类型安全 所有代码都包含XML注释,并组织起来以充分利用IntelliSense。此外,一切都是类型安全的:任何地方都没有字符串。 快捷键 直接扩展普通对象的快捷方式扩展: // Move a transform to position 1,2,3 in 1 second transform.DOMove(new Vector3(1,2,3), 1); // Scale the Y of a transform to 3 in 1 second transform.DOScaleY(3, 1); // Pause a transform's tween transform.DOPause(); 非常准确 时间以非常精确的方式计算。这意味着每个1000秒的循环将会以1000秒的单圈循环播放。 逻辑和易于使用的API 提高效率,直观性和易用性的API。 动画(几乎) DOTween可以动画每个数字值,也可以是一些非数字值。它甚至可以对字符串进行动画处理,支持富文本。 捕捉,轴约束和其他选项 选择有关如何补间值的其他选项,例如捕捉(捕捉值到整数)或轴约束。 完全控制 播放,暂停,倒带,重新启动,完成,转到和吨其他有用的方法来控制你的补间。 分组 将补间组合到序列中以创建复杂的动画(不需要在一个,呃,序列中:它们也可以相互重叠)。 可混合的补间 由于强大的DOBlendable快捷方式,一些补间可以实时混合。 路径 沿线性和弯曲路径设置动画,并为旅行社的方向提供额外选项。 播放时更改值和持续时间 即使在播放时,也可以随时更改补间的开始/结束值或持续时间。 安全模式 激活可选的安全模式,让DOTween处理意外事件,例如播放时销毁的补间目标。 协程的产量 在协同程序中使用的各种“WaitFor ...”方法,允许您等待补间完成,终止或启动,或者让它到达给定的位置或循环。 多种旋转模式 轮换补间可以采用最短路径,完整路径,也可以使用本地或世界轴。 共享方法 它是Tweener还是序列?谁在乎?它们都从Tween继承,因此您可以以相同的方式存储它们并控制它们。 插件 DOTween在构建时考虑了可扩展的体系结构,允许您将自己的补间插件创建为单独的文件。 附加功能 额外的虚拟方法,可以在给定的延迟后调用函数。 所有的基础知识 回调,循环,轻松(包括AnimationCurves和自定义缓动功能),SpeedBased和许多其他补间选项。此外,更新类型的选择:常规,固定,延迟,加上选项,使其与timeScale无关。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值