【Unity】Dotween插件入门笔记

文章目录

1.简单的动画

using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using DG.Tweening;

public class DOTWEENTEST : MonoBehaviour
{
    public Vector3 myValue = new Vector3(0, 0, 0);
   // public Transform cubetransform;
    public RectTransform tasktransform;

    //对float类型做出修改
    public float flt = 0;
   
    void Start()
    {
        //对Vector3类型数值做出变化
        DOTween.To(() => myValue, x => myValue = x, new Vector3(0, 0, 0),1);

        //也可对float类型做出数值变化(可以运用到颜色上)
        DOTween.To(() => flt, x => flt = x, 10, 1);
    }


    void Update()
    {
        // tasktransform.position = myValue; //世界坐标
        tasktransform.localPosition = myValue;
    }
}

通过改变UI的Recttransform的数值来实现动画效果

在这里插入图片描述
将一个image放置在画板外
在这里插入图片描述
脚本挂载到场景任意游戏物体上
在这里插入图片描述
经过一秒,imgae从vector3(1255,0,0)移动到画板(0,0,0)位置。


using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.UI;
using DG.Tweening;

public class MyButton : MonoBehaviour
{
    public RectTransform Rectpanel;
    private bool isIn =false;
    // Start is called before the first frame update
    void Start()
    {
        GameObject.Find("Button").GetComponent<Button>().onClick.AddListener(OnClick);

        Tweener tweener = Rectpanel.DOLocalMove(new Vector3(0, 0, 0), 0.3f);//默认动画被播放完成会被销毁
         //Tweener对象保存这个动画的信息 每次调用do类型的方法都会创建一个tweer对象,这个对象是dotween来管理
        tweener.SetAutoKill(false);//吧autokill自动销毁设置为false
        tweener.Pause();//动画暂停播放
    }
    private void OnClick()
    {
        // Rectpanel.DOMove(new Vector3(0, 0, 0), 1);//让rectpanel从当前位置到0,0,0的位置 时间为1s(修改的世界坐标)
        if (isIn == false)
        {
            //Rectpanel.DOPlay();//播放一次
            Rectpanel.DOPlayForward();//动画前放
            isIn = true;
        }
        else
        {
            Rectpanel.DOPlayBackwards();//动画倒放
            isIn = false;
        }
    }   
}

Dotween封装好了API供我们直接使用,更加方便。
在这里插入图片描述
在这里插入图片描述
通过button按钮来控制image的左右滑动动画。


from用法

using DG.Tweening;
using System.Collections;
using System.Collections.Generic;
using UnityEngine;

public class formtween : MonoBehaviour
{
    void Start()
    {
        //从当前(1,1,1)位置移动到(10,0,0)位置
        //transform.DOMoveX(10, 3);

        //从(10,0,0)位置移动到(1,1,1)位置
        // transform.DOMoveX(10, 3).From();

        //默认为false true是相对坐标 从(11,0,0)移动到(1,1,1)位置
        transform.DOMoveX(10, 3).From(true);
    }
}

动画曲线和事件函数

using DG.Tweening;
using System.Collections;
using System.Collections.Generic;
using UnityEngine;

public class settings : MonoBehaviour
{

    void Start()
    {
        Tweener tweener = transform.DOLocalMoveX(0, 3);

        tweener.SetEase(Ease.OutBounce);//设置运动曲线

        tweener.SetLoops(2);//动画循环播放2次

        tweener.OnComplete(Finish);//动画播放完后触发事件
    }

    private void Finish()
    {
        Debug.Log("动画完成");
    }
}

DOTween Ease曲线和对应效果网址


动画的生命周期以及生命周期函数

using DG.Tweening;
using System.Collections;
using System.Collections.Generic;
using UnityEngine;

public class settings : MonoBehaviour
{

    void Start()
    {
        Tweener tweener = transform.DOLocalMoveX(0, 3);

        tweener.SetEase(Ease.OutBounce);//设置运动曲线

        tweener.SetLoops(2);//动画循环播放2次

        tweener.OnComplete(Finish);//动画播放完后触发事件

        tweener.OnKill(Kill);//动画被杀死后触发事件

        tweener.OnPlay(startPlay);//动画播放,暂停后重新播放也会被调用

        tweener.OnPause(Nowpause);//动画暂停后触发事件


        //动画回退时回调
        //  以下情况会被调用
        //使用DORestart重新播放时
        //使用Rewind倒播动画完成时
        //使用DOFlip翻转动画完成时
        //使用DOPlayBackwards反向播放动画完成时
        //transform.DOMove(Vector3.one, 2).OnRewind(() => { });

        //只在第一次播放动画时调用,在play之前调用
        //transform.DOMove(Vector3.one, 2).OnStart(() => { });

        //完成单个循环周期时触发
        //transform.DOMove(Vector3.one, 2).OnStepComplete(() => { });
        
        //帧回调
        //transform.DOMove(Vector3.one, 2).OnUpdate(() => { });

        //在路径动画时,改变目标点时的回调,参数为当前目标点的下标
        //transform.DOMove(Vector3.one, 2).OnWaypointChange((value) => { });

    }

    private void Finish()
    {
        Debug.Log("动画完成");
    }

    private void Kill()
    {
        Debug.Log("动画被杀死");
    }

    private void startPlay()
    {
        Debug.Log("动画开始播放");
    }

    private void Nowpause()
    {
        Debug.Log("动画暂时");
    }
}


对话框文字动画

using DG.Tweening;
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.UI;

public class MyText : MonoBehaviour
{
    private Text text;
    // Start is called before the first frame update
    void Start()
    {
        text = this.GetComponent<Text>();
        text.DOText("HELLO WORD", 2f);
    }

    // Update is called once per frame
    void Update()
    {
        
    }
}

文字逐显
在这里插入图片描述


屏幕震动(游戏相机震动)

using DG.Tweening;
using System.Collections;
using System.Collections.Generic;
using UnityEngine;

public class Shake : MonoBehaviour
{
    // Start is called before the first frame update
    void Start()
    {
       // transform.DOShakePosition(1);//随机向xyz轴移动
        transform.DOShakePosition(1, new Vector3(1, 1, 0)); //只在xy轴移动单位距离1
    }

    // Update is called once per frame
    void Update()
    {
        
    }
}


颜色和透明度动画

using DG.Tweening;
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.UI;

public class TextColor : MonoBehaviour
{
    private Text text;
    // Start is called before the first frame update
    void Start()
    {
        text = this.GetComponent<Text>();
        text.DOColor(Color.blue, 2); //颜色向蓝色渐变
        text.DOFade(1, 3);//透明通道由0到1
    }
}

动画组件的可视化
在这里插入图片描述
挂载一个脚本就行了


DotweenPath路径编辑器

在这里插入图片描述
给要添加移动路径的物体加上dotween path组件
shift+ctrl可以在scene面板添加运动节点


### 回答1: Unity DoTween是一个非常流行的Unity插件,用于实现动画的创建和管理。它可用于在Unity中创建各种不同类型的动画效果,包括2D和3D动画。 要下载DoTween插件,首先需要打开Unity编辑器。然后,可以在Unity Asset Store中搜索DoTween插件。找到插件后,点击打开并查看插件的详细信息。 在插件详细信息页面,可以找到"Add to My Assets"或"Download"按钮,点击按钮后会自动开始下载插件的压缩文件。 下载完成后,可以回到Unity编辑器,点击"Assets"菜单,然后选择"Import Package",再选择"Custom Package"。在弹出的对话框中选择刚刚下载的插件文件,点击"Open"开始导入插件。 导入完成后,可以在Unity的Project视图中看到导入的插件文件。将插件文件拖放到所需的Unity场景或预制件中,并使用DoTween提供的脚本和组件创建和管理动画效果。 总之,要下载Unity DoTween插件,首先需要在Unity Asset Store中找到并下载插件的压缩文件,然后在Unity编辑器中导入插件并使用它来创建和管理动画效果。 ### 回答2: 要下载Unity DoTween插件,你可以按照以下步骤操作: 1. 打开您的Unity编辑器。 2. 在Unity的Asset Store窗口中搜索“DoTween”或直接在Google搜索引擎中搜索“Unity DoTween插件”。 3. 在搜索结果中找到DoTween插件,并确保您选择了适用于您的Unity版本的最新版本。 4. 点击下载按钮以开始下载插件。 5. 在下载完成后,将文件导入到您的Unity项目中。您可以通过双击下载的插件文件(通常是一个.unitypackage文件)或通过选择“Assets”->“Import Package”->“Custom Package”来导入插件。 6. 在导入插件时,可以选择导入的资源。根据您的需求选择相应的设置并单击确定。 7. 导入完成后,您可以在Unity的“Assets”文件夹中看到新添加的DoTween文件夹。您可以在其中找到DoTween的示例脚本、样本场景等。 8. 现在,您可以开始在您的项目中使用DoTween插件了。您可以参考DoTween的文档、示例代码或在线教程,学习如何使用DoTween来创建动画效果、过渡动作等。 通过按照以上步骤,您就可以成功下载并开始使用Unity DoTween插件了。请记住,确保您的Unity版本与所下载的插件版本兼容,以避免出现任何兼容性问题。 ### 回答3: Unity DOTween(即插值动画引擎)是Unity引擎的一个插件,用于在Unity项目中创建和实现各种类型的动画效果。DOTween能够以一种简单、直观和高效的方式帮助游戏开发者创建动画,无论是在2D还是3D环境中。 要下载Unity DOTween插件,可以按照以下步骤进行操作: 1. 首先,打开Unity引擎,并进入Unity Asset Store。Asset Store是Unity提供的一个在线资源商店,供开发者下载和购买各种类型的资源,包括插件、模型、纹理等。 2. 在Asset Store的搜索栏中输入“DOTween”,点击搜索按钮,将会显示出与DOTween相关的结果。 3. 找到Unity DOTween插件,并点击它的页面。在页面中,您将能够看到插件的详细介绍、版本信息、价格等。 4. 如果插件是免费的,则可以直接点击“下载”按钮,将插件下载到您的Unity项目中。 5. 如果插件是付费的,则需要按照网页上显示的价格进行购买。点击“购买”按钮后,会有相应的支付选项和步骤。 6. 完成支付后,插件将会开始下载。下载完成后,您可以在Unity的Package Manager或者项目文件夹中找到并导入插件。 7. 导入插件后,您就可以在Unity中使用DOTween来创建动画效果了。 Unity DOTween插件的下载流程通常是相对简单的,只需要打开Asset Store,并按照界面上的指示进行操作即可。插件的使用方法和示例代码可以在官方文档中找到,帮助您更好地掌握和应用DOTween的功能。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值