unity知识点 专项二 DoTween动画

news2024/11/15 14:05:40

一、 动画序列(Sequence)

1.1 动画序列相关api 解释

sequence.Append(Tween tween) // 添加一个动画到序列末尾。
sequence.AppendCallback(TweenCallback callback) // 添加回调函数到序列末尾。
sequence.AppendInterval(float interval) // 添加一段空时间到序列末尾。
sequence.Insert(float atPosition, Tween tween) // 插入一段动画到指定时间。
sequence.InsertCallback(float atPosition, TweenCallback callback) // 插入回调函数到序列指定时间。
sequence.Join(Tween tween) // 插入动画与序列最后一个动画(这里的最后是指最后加入序列而非序列末尾)同时播放。
sequence.Prepend(Tween tween) // 添加一个动画到序列头部。
sequence.PrependCallback(TweenCallback callback) // 添加回调函数到序列头部。
sequence.PrependInterval(float interval) // 添加一段空时间到序列头部。
using UnityEngine;
using DG.Tweening; // 引入命名空间

1.2 事列

private Sequence sequence;

void Start()
{
    sequence = DOTween.Sequence();
    Tween tween1 = transform.DOMove(new Vector3(2, 2, 2), 2);
    Tween tween2 = transform.DORotate(new Vector3(45, 45, 45),2);
    Tween tween3 = transform.DOShakePosition(2);

    sequence.Append(tween1);
    sequence.Join(tween2);
    sequence.AppendInterval(1);
    sequence.Append(tween3);
}

二 、移动(DOMove)

2.1 api 解释

DOMove(Vector3 to, float duration, bool snapping)
将物体在duration时间内移动到目标位置to
snapping:如果设置为True,tween将平滑地将所有值对齐为整数

世界坐标上移动:transform.DOMove

本地坐标上移动:transform.DOLocalMove

世界坐标的X轴上移动:transform.DOMoveX

本地坐标的X轴上移动:transform.DOLocalMoveX

2.2 例子

using DG.Tweening; //引入命名空间
public class DOTWeenTest : MonoBehaviour
{
  void Start()
    {
        transform.DOMove(new Vector3(4, 3, 0), 3); //脚本物体3秒从当前位置移动到世界坐标(4,3,0)位置
    }
}

三 、归位(Form)


3.1 api解释

transform.DOMove(from, duration).From();

from相当于做原本的相反操作,原本的DOMove是从自身所在位置往to的位置移动,加上From之后变成从to的位置往自身所在位置移动

3.2 例子

transform.DOMove(new Vector3(2, 2, 0), 1).From();

1秒时间从世界坐标(2,2,0)处回到自身当前位置:



transform.DOMove(new Vector3(2, 2, 0), 2).From(true);

从以自身为原点的坐标系(2,2,0)处回到自身当前位置:

四 、动画正放与倒放

4.1 api解释

Pause();//暂停,防止自动播放
SetAutoKill(false);//关闭动画自动销毁
PlayForward(); //该动画正放
PlayBackwards(); //该动画倒放
SetLoops(N): 循环N次

4.2 例子

using DG.Tweening; //引入命名空间
public class DOTWeenTest : MonoBehaviour
{
    Tweener twe; //声明一个Tweener对象
    void Start()
    { 
        twe = transform.DOMove(new Vector3(3, 4, 0), 2);//将动画保存在Tweener对象中 
        twe.Pause();//暂停,防止自动播放  
        twe.SetAutoKill(false);//关闭动画自动销毁  
    }
    //创建两个方法事件,控制前放后倒放
    public void Forward()
    {
        twe.PlayForward(); //该动画正放
    }
    public void Back()
    {
        twe.PlayBackwards(); //该动画倒放
    }
}

五、设置动画曲线

5.1 描述

在播放动画的时候,如果没有设置动画播放方式,会默认以先快后慢的方式播放
但是我们可以通过 SetEase 方法设置我们想要的播放方式

5.2 api 解释

5.3 例子

void Start()
{
    Tweener twe = transform.DOMoveX(5, 2); //3秒时间在世界坐标中,让X轴移动到5的位置
    twe.SetEase(Ease.InCubic); //由慢到快
}

六、 使用动画改变颜色

6.1 描述

既然让物体移动是通过使用transform来点出DOTWeen的方法,那改变颜色就是让材质组件来调用DOTWeen的方法即可

6.2 api 解释

DOColor(color, time):在time时间内变成color颜色

6.3 例子

void Start()
{
    Material material = GetComponent<MeshRenderer>().material;
    material.DOColor(Color.red, 3); //3秒变红
}

七、 动画事件

7.1 api 解释

OnComplete(fun):动画结束后调用fun方法回调

7.2 例子

Material material;
Tweener twe;
void Start()
{
    material = GetComponent<MeshRenderer>().material;
    twe = material.DOColor(Color.red, 3); //3秒变红
    twe.OnComplete(ChangeColour); //动画播放结束时调用
}
void ChangeColour() //变色
{
    twe = material.DOColor(Color.blue, 2); //2秒变蓝
}

八、文本动画(逐字显示)

8.1 api解释

DOText(txt, time),在time时间内显示txt文本

8.2 例子

void Start()
 {
     Text text = GetComponent<Text>();
     Tweener twe = text.DOText("下面是有奖竞猜:", 2);
     twe.OnComplete(() =>
     {
         text.text = "";
         text.DOText("富奸老贼是怎么死的?", 2);
     });
 }

九 、文本动画(逐渐显示)

9.1 api

DOFade

9.2 例子

void Start()
{
    Text text = GetComponent<Text>();
    text.DOFade(1, 2); //2秒时间让A值变为1
}

十、屏幕抖动动画

10.1 api解释

  • DOShakePosition(time, scale):在随机方向震动time时间,振幅为3
  • DOShakeRotation:旋转抖动
  • DOShakeScale:缩放抖动,弹弹弹

10.2 例子

 void Start()
 {
     //transform.DOShakePosition(2); //在随机方向震动2秒,幅度默认为1
     transform.DOShakePosition(2, 3); //在随机方向震动3秒,振幅为3
 }
或者

void Start()
 {
     //transform.DOShakePosition(2); //在随机方向震动2秒,幅度默认为1
     //transform.DOShakePosition(2, 3); //在随机方向震动2秒,振幅为3
     transform.DOShakePosition(3, new Vector3(0, 2, 0));//只在世界坐标Y轴上震动3秒,振幅为2
 }

十一、可视化编辑

11.1 为需要做动画的物体添加DoTweenAnimation组件

11.2 选择要做动画的组件

11.3  使用代码控制播放

public DOTweenAnimation a; //在编辑器界面将挂有该组件的物体拖进来
void Start()
{
    a.DOPlayForward(); 
}

十二、路径编辑器

12.1 场景中创建一个Cube,添加DoTweenPath组件

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

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

相关文章

考试“挂了“用日语怎么说,柯桥商务日语培训

1、もえる 热衷于……&#xff0c;燃烧 除了“燃烧”&#xff0c;还有“热衷于……”的意思&#xff0c;如“家が燃える&#xff08;房子着火了&#xff09;”&#xff0c;“勉強に燃える&#xff08;热衷于学习&#xff09;”。 &#xff21;&#xff1a;今&#xff08;いま&…

重磅,下一代 iOS 迎来重大更新,国行或无缘

iOS 18 近日&#xff0c;海外记者爆料&#xff0c;苹果已与 OpenAI 达成协议&#xff0c;将聊天机器人 ChatGPT 集成到 iOS 18&#xff0c;双方的合作伙伴关系预计将于 WWDC 2024 上官宣。 作为全球供应链大师的苹果&#xff0c;自然也会把「硬件」的一套带到「软件」当中&…

公告:关于博主的重要通知

大家好&#xff0c;我是博主夏目。 本期不分享知识&#xff0c;博主想说明一下博主的一些重要提示。 分享的内容&#xff0c;从不收费&#xff0c;也未向任何人进行收费。 意在分享知识&#xff0c;传播文化&#xff0c;结交更多志同道合的朋友。 截至目前&#xff0c;从未…

企业数据资产入表之数据资产管理【AMT企源】

题记&#xff1a; 近几年以来&#xff0c;我国数字经济占GDP的比重逐年提高&#xff0c;数据资源在经济发展中的重要作用愈发凸显。在数字时代&#xff0c;数据是新型生产要素&#xff0c;也是企业未来的战略性资源。数据驱动创新&#xff0c;驱动经济提质增效&#xff0c;催化…

R包Colorfindr识别图片颜色|用刀剑神域方式打开SCI科研配色

1.前言 最近忙里偷闲&#xff0c;捣鼓一下配色&#xff0c;把童年回忆里的动漫都搬进来&#xff0c;给科研信仰充值吧&#xff5e; 提取颜色之前写过一个Py的&#xff0c;那个很准确不过调参会有点麻烦。这里分享一个比较懒人点的R包吧&#xff0c;虽然会有一定误差&#xff…

【JavaScript】P3 JavaScipt 注释方法、结束符、输入输出

小结&#xff1a; Js 注释&#xff1a; 单行注释&#xff1a;//多行注释&#xff1a;/* */ Js 结束符&#xff1a; 分号; 可以加也可以不加 Js 输入输出&#xff1a; 输入&#xff1a;prompt()输出&#xff1a;document.write() 在页面中打印&#xff0c;console.log() 在控制…

【教程】PaddleOCR高精度文字识别

转载请注明出处&#xff1a;小锋学长生活大爆炸[xfxuezhagn.cn] 如果本文帮助到了你&#xff0c;欢迎[点赞、收藏、关注]哦~ PaddleOCR/doc/doc_ch/quickstart.md at main PaddlePaddle/PaddleOCR GitHub 安装 pip install paddlepaddle -i https://mirror.baidu.com/pypi/s…

【全开源】Java养老护理助浴陪诊小程序医院陪护陪诊小程序APP源码

打造智慧养老服务新篇章 一、引言&#xff1a;养老护理的数字化转型 随着老龄化社会的到来&#xff0c;养老护理需求日益凸显。为了更好地满足老年人及其家庭的需求&#xff0c;我们推出了养老护理助浴陪诊小程序系统源码。该系统源码旨在通过数字化技术&#xff0c;优化养老…

MGR集群模拟故障切换

说明&#xff1a; 1、MGR集群搭建起来&#xff0c;但不知道是否能进行启动切换&#xff0c;故要手动模拟故障并且验证 2、停止主库master服务&#xff0c;登录mysql查看MGR是否进行自动切换。 3、主库切换完成以后&#xff0c;手动将宕机的服务器添加到MGR集群中。 一、模拟故障…

常用有限元仿真工作站服务器推荐

1、超强性能&#xff0c;AMD 256核心&#xff0c;512线程&#xff0c;768GB满通道内存 CPU&#xff1a;2颗128核心 2.25GHz AMD EPYC 9754 内存&#xff1a;24根32GB DDR5 4800MHz ECC REG 硬盘&#xff1a;1块3.84TB U.2 SSD系统盘1块 16TB SATA数据盘 GPU&#xff1a;1块…

Android刮刮卡自定义控件

效果图 刮刮卡自定义控件 import android.content.Context; import android.graphics.Bitmap; import android.graphics.Canvas; import android.graphics.Color; import android.graphics.Paint; import android.graphics.Path; import android.graphics.PorterDuff; import …

2.开发环境介绍

开发环境介绍三种&#xff1a;第一种是在线开发环境、第二种是Windows下的开发环境、第三种是Linux下的开发环境。 1.在线开发环境 2.Windows下的开发环境 用的比较多的是Devc&#xff0c;新手适合使用&#xff0c;上手快&#xff0c;简单&#xff0c;方便。 Devc使用&#x…

Pushmall共享分销电商SaaS版2024年 5月模块开发优化完成

Pushmall共享分销电商 2024年 5月模块开发优化完成 1、**实现SaaS框架业务&#xff1a;**多租户、多商家、多门店&#xff0c;及商家入驻、商品管理。 2、租户小程序管理&#xff1a;对租户的小程序业务管理。 3、店铺小程序管理&#xff1a;对租户多店铺小程序绑定。 4、会员分…

机会就在眼前!2025-CISP深圳国际体育展的招展工作火热持续中...

2025-CISP中国&#xff08;深圳&#xff09;国际体育展的招展工作火热持续中&#xff0c;凭借越来越深远的影响力以及前两届的成功举办经验&#xff0c;展位多半已被“抢购”。但小编的同事们同时又反映出一个问题&#xff1a;有一批老展商和新展商已有明确的参展意向&#xff…

FTP协议——Pure-Ftpd安装(Linux)

1、简介 Pure-FTPd是一个高效、免费且开源的FTP服务器软件&#xff0c;广泛应用于各种Unix/Linux系统。它以其易用性、高安全性和功能丰富而闻名&#xff0c;适用于个人和企业的文件传输需求。 2、步骤 环境&#xff1a;Ubuntu 22.04.4 下载地址&#xff1a;Index of /pub/p…

选择快充时代下的理想充电器与电压诱骗芯片PW6606

随着科技的不断进步&#xff0c;我们的电子设备对于充电速度和效率的要求越来越高。在快充技术迅猛发展的今天&#xff0c;了解不同类型的充电器及其对应的快充协议&#xff0c;以及如何选择适合的电压诱骗芯片&#xff0c;对于提升充电体验和保障设备安全显得尤为重要。 一、快…

【启程Golang之旅】掌握Go语言数组基础概念与实际应用

欢迎来到Golang的世界&#xff01;在当今快节奏的软件开发领域&#xff0c;选择一种高效、简洁的编程语言至关重要。而在这方面&#xff0c;Golang&#xff08;又称Go&#xff09;无疑是一个备受瞩目的选择。在本文中&#xff0c;带领您探索Golang的世界&#xff0c;一步步地了…

如何搭建雾锁王国多人联机服务器,搭建教程分享

雾锁王国&#xff08;Enshrouded&#xff09;是一款融合了生存、制作以及动作RPG战斗的游戏&#xff0c;2024年1月24日在Steam平台以抢先体验形式发售&#xff0c;支持中文。游戏背景设定在一个基于体素构筑的辽阔大陆上。玩家将在这个开放世界中自由选择前进的方向&#xff0c…

你知道【无犯罪记录证明】怎么开具吗?

哈喽&#xff0c;你好啊&#xff0c;我是雷工&#xff01; 有些事情没有经历过&#xff0c;就不会知道&#xff0c;经历过一次也就晓得了。 所谓见多识广&#xff0c;很多就是见过或者听说过&#xff0c;像刘姥姥进大观园&#xff0c;很多事物是没见过&#xff0c;才会闹出很多…

升级 JDK17 一个不可拒绝的理由!

插&#xff1a; AI时代&#xff0c;程序员或多或少要了解些人工智能&#xff0c;前些天发现了一个巨牛的人工智能学习网站&#xff0c;通俗易懂&#xff0c;风趣幽默&#xff0c;忍不住分享一下给大家(前言 – 人工智能教程 ) 坚持不懈&#xff0c;越努力越幸运&#xff0c;大家…