Unity 使用 Dotween 的 Sequence 制作UI动画并且可重复利用

这篇具有很好参考价值的文章主要介绍了Unity 使用 Dotween 的 Sequence 制作UI动画并且可重复利用。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

目录

前言

一、DOTween是什么?

二、使用步骤

1.导入DOTween

2.配置DOTween

3.使用代码编写动画

4.代码API解释

总结



前言

DOTween可以制作简易的UI动画,避免创建大量的Animator,本篇文章介绍一下我制作UI动画时的一些技巧

效果展示

unity ui动画,unity,ui,游戏引擎,c#

 

一、DOTween是什么?

DOTween是UnityAssetStore中一个免费的插件,用于创建简单的补间动画,常用与UI动画,延迟调用,移动旋转,打字机等效果

二、使用步骤

1.导入DOTween

UnityAssetStore中添加到我的资源,在Windows->PackageManager ,Packages选择My Assets,搜索DOTween,点击import全部导入即可

unity ui动画,unity,ui,游戏引擎,c#

 

2.配置DOTween

unity ui动画,unity,ui,游戏引擎,c#

第一次导入DOTween需要等待一定时间编译完成,出现此面板后点击Setup DOTween(如果没有出现此面板,点击unity ui动画,unity,ui,游戏引擎,c#

 下一个出现的面板点击apply即可

unity ui动画,unity,ui,游戏引擎,c#

3.使用代码编写动画

using DG.Tweening;

Sequence se;

    private void Awake()
    {
        se = DOTween.Sequence();
        se.SetAutoKill(false);
        se.Pause();

        CanvasGroup[] canvasGroups=GetComponentsInChildren<CanvasGroup>();
        se.Append(canvasGroups[0].DOFade(0, 1f).From().SetDelay(2));
        se.Append(canvasGroups[0].GetComponent<RectTransform>().DOAnchorPosX(200f, 1f).From(true).SetEase(Ease.OutExpo));
        se.Insert(0.5f, canvasGroups[1].DOFade(0, 1f).From())
           .Join(canvasGroups[1].GetComponent<RectTransform>().DOAnchorPosX(-200f, 1f).From(true).SetEase(Ease.OutExpo))
           .Join(canvasGroups[2].DOFade(0, 1f).From())
           .Join(canvasGroups[2].GetComponent<RectTransform>().DOAnchorPosY(-200f, 1f).From(true).SetEase(Ease.OutExpo));


    }
    private void Update()
    {
        if(Input.GetKeyDown(KeyCode.Escape))
        {
            se.Restart();
        }
    }

实现效果为

unity ui动画,unity,ui,游戏引擎,c#

 

注:此UI界面分为顶部,中部,底部三部分,每一个CanvasGroup代表其中一部分,每一部分的UI均放在对应CanvasGroup下面,CanvasGroup可以管控其子物体所有UI的透明度,tween表示动画

1.顶部UI在1秒内从0到1显示

2.顶部UI显示完毕后,从当前右侧200单位距离1秒内移动到当前位置

3.在当前序列播放到0.5秒时,中部UI在1秒内从0到1显示

同时从当前左侧200单位距离1秒内移动到当前位置

同时底部UI在1秒内从0到1显示

同时底部UI从当前下方200单位距离1秒内移动到当前位置

4.代码API解释

1.Sequnce se = DOTween.Sequence();//创建一个新的序列,用于存放补间动画

2.se.SetAutoKill(false);//当序列播放完毕后,不自动Kill(如果被Kill,动画被回收无法再次播放)

3.se.Pause();//当前序列动画暂停(如果不暂停创建后就会播放)

4.se.Append(tween);//当前序列追加一个动画,追加的动画会按顺序依次播放,不会同时播放

5.se.Insert(time,tween);//在当前序列播放到time秒后播放tween,同时播放

6.se.Join(tween);//在当前序列中最后一个插入的tween的开始时间(受delay影响)播放tween,同时播放

7.se.Restart();//动画重新播放

8.rectransform.DOAnchorPosX(200f, 1f).From(true);//从自身当前右侧200单位距离1秒内移动到当前位置

(From方法表示从指定位置移动到当前位置,true则表示相对位置,如果不加true,代码会像下面的)

rectransform.DOAnchorPosX(rectransform.anchoredPosition.x+200f, 1f).From()

注:当使用From方法时,无论当前tween是否有延迟,只要添加进队列或者创建动画,对象会直接被拉到起始位置

SetEase(ease)设置缓动类型,各种缓动类型效果见

DOTween缓动类型动画效果图


 

 

总结

使用此方法可以简单创建多种UI动画,并且方便管理,无需保存无用数据,可以在已经搭好的UI界面直接添加动画文章来源地址https://www.toymoban.com/news/detail-715207.html

到了这里,关于Unity 使用 Dotween 的 Sequence 制作UI动画并且可重复利用的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • [Unity 3d] 插件---- DoTween 动画方法调用及执

    一、移动和旋转(一到四主要应用于Transform的方法) 1、使用DoTween首先要引用命名空间 Using DG.Tweening; 2、transform.DOMove(目标位置,所花费的时间/s) //移动方法 3、transform.DoLocalMoveX(目标位置,所花费的时间)//单一的移动方法 4、transform.DoLocalMove()//移动自己的局部坐标 5、transfo

    2024年02月09日
    浏览(52)
  • Unity 制作动画 - Animation 的使用

    1. unity 顶部导航栏点击 Window  Animation 打开 Animation 窗口 通过这个窗口可以创建、编辑动画,也可以查看导入的动画。Animation 窗口同一时间只能查看、编辑同一段Clip中的动画 2. 选中 Hierarchy 面板中的节点, 也就是要制作动画的物体,该物体上没有动画,可以点击Animation窗口

    2024年02月15日
    浏览(42)
  • Unity Dotween插件物体、ui的移动 旋转 缩放效果

    Unity Dotween插件物体、ui的移动 旋转 缩放效果 #脚本应用命名空间 using DG.Tweening; ##让游戏物体平移 //参数一:要移动到的位置 //参数二:动画完成要多少秒 transform.DOMove(new Vector3(1,3, 8.08f),5.5f); ##让游戏物体旋转 //参数一:要旋转成的样子的坐标 //参数二:旋转动画多少秒完成 trans

    2024年02月01日
    浏览(49)
  • Unity Dotween插件的运动曲线(Ease)介绍Ease选项Ease效果示例以及C#修改动画曲线功能

    我们在制作动画时经常使用这个Dotween插件,在移动、旋转、透明度等等参数的控制都可以使用该插件,而且在这个插件上的控制动画可以设置曲线,内置的曲线有这些: 以InOutSine的曲线进行往右移动: 效果是这样的: 能看出开始是从0提速,最后是慢慢减速至0的效果。 4个

    2024年02月01日
    浏览(72)
  • 记录Dotween中Sequence频繁创建和关闭时出现的问题

    问题出现在Unity的Button点击事件中,对同一个Sequence引用,频繁使用OnPointerDown和OnPointerUp事件来控制其创建和Kill() 时,会因处理速度问题导致出现其中某次的Sequence没有被正确关闭: 首先全局声明一个 sequence 引用: 然后在两个连续快速触发的函数中分别创建,Kill该sequence:

    2024年02月11日
    浏览(42)
  • UE4 Sequence添加基础动画效果 (03-主序列的使用)

    在上一篇的基础上添加一些摄像头的跟拍效果 1.鼠标右键新建 Animation-》关卡序列    命名为主序列 2.双击打开主序列 3.点击 窗口-》内容浏览器-》内容浏览器2 找到入口序列  4.将入口序列拖入主序列中  5.让时间轴总长保持与入口序列长度一致  6.双击时间轴来进入入口序

    2024年02月06日
    浏览(44)
  • unity --- DoTween插件安装与使用

    目录 一.简介  1.1 插件下载 1.2 官方文档 二.导入和设置 三.示例代码 1 循环动画:SetLoops(-1 , loopType ) 2. 动画循环次数:SetLoops( count ) 3. 动画事件监听与回调:OnStart OnComplete 4. 动画延迟回调:SetDelay 5. 动画自定义更新回调:OnUpdate 6. 动画路径回调:OnWayPointChange 7. 动画循环

    2024年02月11日
    浏览(52)
  • Unity——DOTween插件使用方法简介

      缓动动画既是一种编程技术,也是一种动画的设计思路。从设计角度来看,可以有以下描述 事先设计很多基本的动画样式,如移动、缩放、旋转、变色和弹跳等。但这些动画都以抽象方式表示,一般封装为程序函数 动画的参数可以在使用时指定,如移动的起点和终点、旋

    2024年02月05日
    浏览(54)
  • 在Unity中如何制作动画

    在Unity中如何制作动画 Unity中的动画主要是三种来源: 在Unity引擎中制作动画 从外部工具(如3ds Max、Maya等)导入动画 使用代码制作的动画 下面讨论的主要是前两种来源的动画,使用代码写动画我们后面再学习。 在Unity中制作动画一般分为以下几个步骤: 1、打开Animation窗口

    2024年02月01日
    浏览(37)
  • 【unity游戏开发教程】Unity+Umotion Pro+VRoid+Blender制作人物模型和动画,在unity中简单制作二次元人物动画

    大家好!本期教程教大家在unity中制作二次元人物模型和动画 1.下载VRoid Studio 1.搜索VRoid Studio下载即可,或者前往官网VRoid官网 VRoid Studio是由pixiv开发的一款3D人物建模软件,VRoid的主要特征就是通过类似绘画的方式进行人物的建模,使人们更为轻松地创造自己的虚拟人物。

    2024年02月10日
    浏览(51)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包