Unity Dotween 定位点的制作

news2024/11/26 1:43:52

目录

前言

一、动画预览

二、动画拆分

三、素材准备

四、曲线 OutCirc详解

五、速度分类详解

六、代码

 七、组件和设置

八、作者的话


前言

我答应我的粉丝接下来更新Dotween系列,但是我一直没想好,从哪里开始讲。

Dotween的安装我就跳过了,因为这个到处都有。

最后思考了一下,从常用案例开始讲吧,对案例有需求的也可以写在评论区中。

一、动画预览

一般定位点很喜欢用这个动画(如图1所示),但如果用视频或者序列帧,有点大材小用了,灵活性都不太好,因此,这里用简单的图片来制作这个动画。

图1 定位点

二、动画拆分

这是由两个相同动画的圈组成的,只不过他们一个慢了0.5秒开始播,所以单个圈的动画(如图2所示)。

图2 单个圆圈

 单个圆圈再拆分:

大小角度:如果把圆最大的时候当做1,它是从1/4的时候开始逐渐变大。

出现和消失角度:假设这个圆的动画是1秒,前1/3秒在逐渐出现,然后花了1/4秒消失,余下的时间全黑,什么都看不见。

三、素材准备

只需要一个透明白色的圈(如图3所示),你实在没有,去PPT里画一个?下面这个图是不能用的哈,只是给你们示例一下啊。

图3 透明圈

四、曲线 OutCirc详解

dotween里面的曲线有很多,但up认为,如果你没有仔细观察过,最后是不知道哪个用起来效果更好的,所以这里带大家观察一下这个曲线。

Circ:圆形曲线的缓动( sqrt(1-t^2))

注释:sqrt是根号的意思,这个公式其实是\sqrt{1-t^2},图像(如图4所示)

图4 sqrt(1-t^2)的图像

这段有兴趣的可以看一下:

把这个公式稍微变一下

1.把t变成x

2.变成等式

y=\sqrt{1-x^2}

再变一下

1=x^2+y^2

是不是就很眼熟了,这是圆形公式,再去看他的英文Circ = Circle

是不是一切都说通了。

五、速度分类详解

这里引用了以下两个文章的内容,侵权立删。

Unity Dotween插件的运动曲线(Ease)介绍Ease选项Ease效果示例以及C#修改动画曲线功能_dotween ease-CSDN博客

Unity Dotween Ease曲线 图表 效果展示_dotween曲线展示-CSDN博客

实际曲线图像(如图5所示)

图5 Circ的三种曲线

一个好好的圆形图像变成了这样,是因为取的时间不是匀速的,有时候快有时候慢。
In:            从0开始加速
Out:         减速到0
lnOut:      前半段从0开始加速,后半段减速到0的缓动

实际动画图像

图6 InCirc介绍

InCirc介绍(如图6所示):时间越来越快,变得越来越快,曲线比较接近圆弧

图7 OutCirc介绍

OutCirc介绍(如图7所示):时间越来越慢,变得越来越慢,曲线比较接近圆弧

图8 InOutCirc介绍

InOutCirc介绍(如图8所示):先按InCirc运动,再按OutCirc运动,所以是慢-快-快-慢

六、代码

按照之前动画拆分,把每一步都做了

//找到设置大小的组件
    public RectTransform rect;
    //找到图片
    private Image img;
    //记录初始大小
    private Vector2 origSize;

    //动画持续时间
    public float duration;
    //动画延迟时间
    public float delay;

    void Start()
    {
        //图片复制
        img = rect.GetComponent<Image>();

        //初始化透明度
        img.DOFade(0, 0);

        //记录初始大小
        origSize = rect.sizeDelta;

        //设置初始大小为四分之一
        rect.sizeDelta = origSize / 4f;

        //执行动画
        StartCoroutine(Delay());

    }

    IEnumerator Delay()
    {
        //动画延迟几秒执行
        yield return new WaitForSeconds(delay);
        //执行动画
        Animate();
    }

    public void Animate()
    {
        //建立动画队列
        Sequence s = DOTween.Sequence();
        //加入动画              让图片在duration秒内变回初始大小           //选择OutCirc曲线
        s.Append(rect.DOSizeDelta(origSize, duration).SetEase(Ease.OutCirc));
        //和上面一起开始的动画    把图片透明度变成1,用1/3的总时长
        s.Join(img.DOFade(1, duration / 3));
        //和上面一起开始的动画    把图片透明度变成0,用1/4总时长,但需要延迟1/3的总时长再执行
        s.Join(img.DOFade(0, duration / 4).SetDelay(duration / 1.5f));
        //重复播放
        s.SetLoops(-1);
    }

 七、组件和设置

新建两个圆圈,把之前准备的图片放上去(如图9所示)

图9 两个圆圈

再把前面写的脚本挂上去。

Circle1脚本组件(如图10所示)

图10 Circle1脚本组件

Circle2脚本组件(如图11所示) 

图11 Circle2脚本组件

八、作者的话

 Dotween的基础知识这里还是用了比较多的,如果大家在评论区有问题,我也可能专门写一篇文章来讲解这部分。感谢大家的支持,ღ( ´・ᴗ・` )比心~

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1709143.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Java基础之 API 字符串

文章目录 API字符串String概述创建对象 java的内存模型java的常用方法(比较)练习 API 概念: APl(Application ProgrammingInterface): 应用程序编程接口 简单理解: API就是别人已经写好的东西&#xff0c;我们不需要自己编写&#xff0c;直接使用即可。 Java API: 指的就是J…

三层交换机基本配置,动态路由链接

<Huawei>system-view //进入系统视图[Huawei]undo info-center enable //关日志[Huawei]vlan batch 2 3 //创建vlan2与3[Huawei]display vlan //检查[Huawei]interface GigabitEthernet 0/0/2 //进2口[Huawei-GigabitEthernet0/0/2]port link-type access //配置…

【STM32嵌入式系统设计与开发---传感器拓展】——1_2_蓝牙主从模块_AT配置(HC-05)

一、主机蓝牙设置 # 1、重置模块 ATORGL # 2、设置名字&#xff0c;自己随便设置 ATNAMEMaster # 3、设置连接密码&#xff0c;要和从机一样&#xff0c;密码好像可以不加双引号 ATPSWD"1234" # 4、设置为主机 ROLE 1 为主机 ROLE 0为从机 ATROLE1 # 5、设置波特…

04 FreeRTOS 队列(queue)

1、队列的特性 队列可以理解为一个传送带&#xff0c;一个流水线。 队列可以包含若干个数据&#xff1a;队列中有若干项&#xff0c;这被称为"长度"(length) 每个数据大小固定 创建队列时就要指定长度、数据大小 数据的操作采用先进先出的方法(FIFO&#xff0c;First…

Python OCR 文字检测使用模型:读光-文字检测-DBNet行检测模型-中英-通用领域

介绍 什么是OCR&#xff1f; OCR是“Optical Character Recognition”的缩写&#xff0c;中文意为“光学字符识别”。它是一种技术&#xff0c;可以识别和转换打印在纸张或图像上的文字和字符为机器可处理的格式&#xff0c;如计算机文本文件。通过使用OCR技术&#xff0c;可…

【Python安全攻防】【网络安全】一、常见被动信息搜集手段

一、IP查询 原理&#xff1a;通过目标URL查询目标的IP地址。 所需库&#xff1a;socket Python代码示例&#xff1a; import socketip socket.gethostbyname(www.163.com) print(ip)上述代码中&#xff0c;使用gethostbyname函数。该函数位于Python内置的socket库中&#xf…

xss-labs之level9、level10

一、level9 1、测试分析 尝试了之前的payload&#xff0c;发现都不行&#xff0c;看源码发现多了个strpos函数&#xff0c; strpos() 是一个在 PHP 中用于查找子串首次出现位置的函数。它接受两个参数&#xff1a;要搜索的字符串&#xff08;主字符串&#xff09;和要查找的子…

5.28OpenMV入门

10分钟快速上手 OpenMV中文入门教程 使用的元件 先安装好&#xff0c;上述链接上手 IDE显示颜色阈值&#xff0c;同时也配有示例文件&#xff0c;如下图打开&#xff0c;helloworld 你好&#xff0c;世界&#xff01; OpenMV中文入门教程&#xff0c;在官方也有每一个的详细…

公司如何监控到电脑端微信聊天记录的?

在当今职场环境中&#xff0c;确保信息交流的安全性和合规性成为了企业管理中的重要议题。 特别是在使用像微信这样的即时通讯工具进行工作沟通时&#xff0c;合理监控员工的电脑端微信聊天记录成为了一些企业的管理需求。 但值得注意的是&#xff0c;此类监控必须建立在合法…

[数据集][目标检测]道路井盖下水道井盖开关闭和检测数据集VOC+YOLO格式407张2类别

数据集格式&#xff1a;Pascal VOC格式YOLO格式(不包含分割路径的txt文件&#xff0c;仅仅包含jpg图片以及对应的VOC格式xml文件和yolo格式txt文件) 图片数量(jpg文件个数)&#xff1a;407 标注数量(xml文件个数)&#xff1a;407 标注数量(txt文件个数)&#xff1a;407 标注类别…

[图解]企业应用架构模式2024新译本讲解02-表数据入口

1 00:00:00,420 --> 00:00:04,330 这个案例&#xff0c;我们就是用书上的案例了 2 00:00:06,080 --> 00:00:08,860 收入确认的一个案例 3 00:00:09,510 --> 00:00:11,100 书上讲了&#xff0c;收入确认 4 00:00:13,330 --> 00:00:15,270 就是说&#xff0c;你给…

JMH304-剑侠情缘2网络版+2017纹饰端+翅膀+单机+外网整理+各种副本

资源介绍&#xff1a; 藏剑-太虚-梁山-杀手堂种树地宫师门纹饰装备长流云阳套等等———– 做登录器联系站长 资源截图&#xff1a; 下载地址

ue5 后期处理体积lut如何加入

零、需要颜色查找表格&#xff0c;ps 一、ps中 把调节好的shift 一起拖入颜色查找表格 二、存储为png格式 另存为 保护好原来的颜色查找表格 三、导入ue5中 四、在后期处理体积中搜索misc 替换颜色查找表格 五、双击后期处理体积 纹理组替换颜色查找表格 2. 压缩设置lut改成…

FreeRtos进阶——队列的特殊用途

信号量与互斥量都一样&#xff0c;都是特殊的队列。但是只有互斥量实现了优先级继承机制。 信号量与互斥量与队列一样&#xff0c;在操作增加或者减少时&#xff0c;必须先关中断在进行操作&#xff01; 信号量创建揭秘 图中信号量的创建过程&#xff0c;在代码中的体现本质就是…

嵌入式C语言指针详细解说

各位伙伴大家好,在实现操作系统的控制的时候,经常需要使用到指针,利用这次详细分析一下指针的用法。 C语言指针真正精髓的地方在于指针可以进行加减法,这一点极大的提升了程序对指针使用的灵活性,同时也带来了不小的学习负担。正是因为C语言指针可运算,才奠定了如今C语言…

【主流分布式算法总结】

文章目录 分布式常见的问题常见的分布式算法Raft算法概念Raft的实现 ZAB算法Paxos算法 分布式常见的问题 分布式场景下困扰我们的3个核心问题&#xff08;CAP&#xff09;&#xff1a;一致性、可用性、分区容错性。 1、一致性&#xff08;Consistency&#xff09;&#xff1a;…

自动化测试工程师面试,常问的问题有哪些?

自动化测试工程师面试是非常重要的环节&#xff0c;面试官会通过一系列的问题来评估候选人的技能和经验。下面是一些常见的问题&#xff0c;以及如何详细而规范地回答这些问题的建议。 1. 请介绍一下你的自动化测试经验。 回答这个问题时&#xff0c;可以从项目经验、使用的自…

离线安装kubernetes

我们很多时候在开发或测试环境中使用的Kubernetes集群基本都是云厂商提供或者说基于有网环境快速搭建的&#xff0c;但是到了客户的生产环境&#xff0c;往往基于安全考虑他们是不允许服务器连接外部网络的&#xff0c;这时我们就不得不在离线环境下完成部署工作。 1、前言 1…

ROS基础学习-话题通信机制研究

研究ROS通信机制 研究ROS通信机制 0.前言1.话题通信1.1 理论模型1.2 话题通讯的基本操作1.2.1 C++1.2.2 Python中使用自己的虚拟环境包1.2.2.1 参考11.2.2.2 参考21.2.2.3 /usr/bin/env:“python”:没有那个文件或目录1.2.3 Python1.2.2.1 发布方1.2.2.2 订阅方1.2.2.3 添加可执…

灵动微SPI LCD彩屏参考方案

LCD显示能够提供均匀的、流畅的、色彩鲜艳的动态或静态的图像&#xff0c;尤其在家电应用、智能家居应用、消费电子等产品中&#xff0c;受到了广大消费者的青睐&#xff0c;同时也受到了市场的广泛关注&#xff0c;为此&#xff0c;官方代理英尚微介绍搭载MM32系列MCU的SPI LC…