【Unity】DoTween插件快速上手
2024-01-10 07:51:28
DOTween是一款针对Unity的快速高效、类型安全的面向对象的补间动画引擎,并且对于C#用户做出了很多的优化。
Demo:
1.DoTween安装
2.使用
- 添加引用
using DG.Tweening;
- 获取对应组件
- Do:方法决定动画。
- Set:设置动画
- On:设置动画事件
3.常用
- 物体移动和旋转
//移动
transform.DOMove(目标点,时间);
rigidbody.DOMove(目标点,时间);
//旋转
transform.DORotate(目标点,时间);
- 缩放、punch函数
//缩放
transform.DOScale(目标点,时间);
//punch函数_让物体在指定时间内沿着指定方向做弹性位移动画效果。
transform.DOPunchPosition(new Vector3(方向), 持续时间, 弹性值, 振动值);
- 震动Shake函数
transform.DOShakePosition(震动时间,强度,频率,随机角度);
- 混合Blend函数
//两个动作整合在一起执行一个函数
transform.DOBlendableMoveBy(目标点,时间);
5. 材质改变颜色、透明度
Material material = GetComponent<MeshRenderer>().material;
//改变颜色
material.DOColor(Color.red, 2f);
//改变透明度
//1.Color.clear
material.DOColor(Color.clear, 2f);
//2.DOFade
material.DOFade(0, 2);
//材质颜色渐变
material.DOGradientColor(Gradient,2);
6.相机拓补
- 改变宽高比
camera.DOAspect(比值, 时间);
- 改变背景颜色
camera.DOColor(Color.red, 2);
- 改变相机距离
//透视模式
camera.DOFieldOfView(目标, 时间);
//正交模式
camera.DOOrthoSize(目标, 时间);
- 相机分屏效果
//二选一
camera.DOPixelRect(new Rect(0, 0, 500, 500), 2); //像素
camera.DORect(new Rect(0, 0, 0.5f, 0.5f), 2); //百分比
- 相机晃动效果
camera.DOShakePosition();
7.Text拓补
- 逐个打字效果
//SetEase(Ease.Linear)目的添加匀速效果
text.DOText("huhuhsifjiosfjiosdhjfiosd", 5).SetEase(Ease.Linear);
8.动画_队列
- 添加动画到队列_依次执行
Sequence sequence = DOTween.Sequence();
sequence.Append(transform.DOMove(Vector3.one, 2));
sequence.AppendInterval(1); //添加延时
sequence.Append(transform.DOMove(new Vector3(1, 0, 0), 2));
- 插入动画
//如果时间存在会覆盖原先的时间
sequence.Insert(时间, transform.DOMove(-Vector3.one, 1));
- 队列插入方法
//1.插入法
sequence.Insert();
//2.join加入
sequence.join(方法,时间);
- 预添加方法用法
//会先执行
sequence.AppendInterval(1);
sequence.Prepend(transform.DOMove(Vector3.one * 2, 2));
- 回调函数
//按时间插入
sequence.InsertCallback(5, 方法);
//直接添加
sequence.AppendCallback(方法);
- 参数设置方法及循环
//-1代表无线循环
SetLoops(循环次数,LoopType);
- 设置为增量运动_From
.From();
- 动画延时
//动画延迟3秒执行——SetDelay()
transform.DOMove(new Vector3(2f, 2f, 2f), 2).SetDelay(3);
//让物体的运动以速度为基准——原参数(速度大小)
transform.DOMove(new Vector3(2f, 2f, 2f), 2).SetSpeedBased();
- 设置ID及增量运动
//设置ID即通过id直接调用缓存的动画
transform.DOMove(new Vector3(2f, 2f, 2f), 2).SetId("ID");
DOTween.Play("ID");
//SetRecyclable()_是否可回收——可以直接通过id调用
transform.DOMove(Vector3.one, 10).SetRecyclable(true);
//SetRelative()_将动画给位增量运动
transform.DOMove(Vector3.one, 10).SetRelative(true);
9. 运动曲线
- 设置曲线模式
//1.SetEase()
transform.DOMove(Vector3.one, 10).SetEase(Ease.);
//2.结合Unity的AnimationCurve
public AnimationCurve _curve;
transform.DOMove(Vector3.one, 10).SetEase(_curve);
文章来源:https://blog.csdn.net/Xz616/article/details/131085322
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!