unity知识点 专项二 DoTween动画

2024-05-27 22:28

本文主要是介绍unity知识点 专项二 DoTween动画,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

一、 动画序列(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秒,幅度默认为1transform.DOShakePosition(2, 3); //在随机方向震动3秒,振幅为3}
或者void Start(){//transform.DOShakePosition(2); //在随机方向震动2秒,幅度默认为1//transform.DOShakePosition(2, 3); //在随机方向震动2秒,振幅为3transform.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组件

这篇关于unity知识点 专项二 DoTween动画的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1008767

相关文章

最好用的WPF加载动画功能

《最好用的WPF加载动画功能》当开发应用程序时,提供良好的用户体验(UX)是至关重要的,加载动画作为一种有效的沟通工具,它不仅能告知用户系统正在工作,还能够通过视觉上的吸引力来增强整体用户体验,本文给... 目录前言需求分析高级用法综合案例总结最后前言当开发应用程序时,提供良好的用户体验(UX)是至关重要

基于Python实现PDF动画翻页效果的阅读器

《基于Python实现PDF动画翻页效果的阅读器》在这篇博客中,我们将深入分析一个基于wxPython实现的PDF阅读器程序,该程序支持加载PDF文件并显示页面内容,同时支持页面切换动画效果,文中有详... 目录全部代码代码结构初始化 UI 界面加载 PDF 文件显示 PDF 页面页面切换动画运行效果总结主

Qt QWidget实现图片旋转动画

《QtQWidget实现图片旋转动画》这篇文章主要为大家详细介绍了如何使用了Qt和QWidget实现图片旋转动画效果,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下... 一、效果展示二、源码分享本例程通过QGraphicsView实现svg格式图片旋转。.hpjavascript

【前端学习】AntV G6-08 深入图形与图形分组、自定义节点、节点动画(下)

【课程链接】 AntV G6:深入图形与图形分组、自定义节点、节点动画(下)_哔哩哔哩_bilibili 本章十吾老师讲解了一个复杂的自定义节点中,应该怎样去计算和绘制图形,如何给一个图形制作不间断的动画,以及在鼠标事件之后产生动画。(有点难,需要好好理解) <!DOCTYPE html><html><head><meta charset="UTF-8"><title>06

基本知识点

1、c++的输入加上ios::sync_with_stdio(false);  等价于 c的输入,读取速度会加快(但是在字符串的题里面和容易出现问题) 2、lower_bound()和upper_bound() iterator lower_bound( const key_type &key ): 返回一个迭代器,指向键值>= key的第一个元素。 iterator upper_bou

Flutter 进阶:绘制加载动画

绘制加载动画:由小圆组成的大圆 1. 定义 LoadingScreen 类2. 实现 _LoadingScreenState 类3. 定义 LoadingPainter 类4. 总结 实现加载动画 我们需要定义两个类:LoadingScreen 和 LoadingPainter。LoadingScreen 负责控制动画的状态,而 LoadingPainter 则负责绘制动画。

两个月冲刺软考——访问位与修改位的题型(淘汰哪一页);内聚的类型;关于码制的知识点;地址映射的相关内容

1.访问位与修改位的题型(淘汰哪一页) 访问位:为1时表示在内存期间被访问过,为0时表示未被访问;修改位:为1时表示该页面自从被装入内存后被修改过,为0时表示未修改过。 置换页面时,最先置换访问位和修改位为00的,其次是01(没被访问但被修改过)的,之后是10(被访问了但没被修改过),最后是11。 2.内聚的类型 功能内聚:完成一个单一功能,各个部分协同工作,缺一不可。 顺序内聚:

用Unity2D制作一个人物,实现移动、跳起、人物静止和动起来时的动画:中(人物移动、跳起、静止动作)

上回我们学到创建一个地形和一个人物,今天我们实现一下人物实现移动和跳起,依次点击,我们准备创建一个C#文件 创建好我们点击进去,就会跳转到我们的Vision Studio,然后输入这些代码 using UnityEngine;public class Move : MonoBehaviour // 定义一个名为Move的类,继承自MonoBehaviour{private Rigidbo

STL经典案例(四)——实验室预约综合管理系统(项目涉及知识点很全面,内容有点多,耐心看完会有收获的!)

项目干货满满,内容有点过多,看起来可能会有点卡。系统提示读完超过俩小时,建议分多篇发布,我觉得分篇就不完整了,失去了这个项目的灵魂 一、需求分析 高校实验室预约管理系统包括三种不同身份:管理员、实验室教师、学生 管理员:给学生和实验室教师创建账号并分发 实验室教师:审核学生的预约申请 学生:申请使用实验室 高校实验室包括:超景深实验室(可容纳10人)、大数据实验室(可容纳20人)、物联网实验

C++语法知识点合集:11.模板

文章目录 一、非类型模板参数1.非类型模板参数的基本形式2.指针作为非类型模板参数3.引用作为非类型模板参数4.非类型模板参数的限制和陷阱:5.几个问题 二、模板的特化1.概念2.函数模板特化3.类模板特化(1)全特化(2)偏特化(3)类模板特化应用示例 三、模板分离编译1.概念2.模板的分离编译 模版总结 一、非类型模板参数 模板参数分类类型形参与非类型形参 非类型模板