DOKill()
DOFlip()
DOGoto()跳转到时间点
DOPlayBackwards()
DOTogglePause()
DOKill()
DOFlip()
DOGoto()跳转到时间点
DOPlayBackwards()
DOTogglePause()
xuan'zhuan
0
这里是老师做的BUTTON点击的效果的代码,以后用得到来复制。
Blend 混合多个动画
改变材质透明度 DoFade
相机视角晃动
(被雷炸掉 视角需要晃动)
camera.DOShakePoaistion(1,2,3)
1.持续时间
2.力度
3.震动次数
text组件
Text text = GetComponent<Test>();
test.DoText("abcdefj",5) //5秒内出现
出现匀速显示效果(下)
.SetEase(Ease.Linear)
队列
Sequence quence = DOTween.Sequence();
quene.Append(transform.DOMove(Vector3.one),2));
//添加延时
quence.appendinterval(1);
quence.Append(transform.DOMove(new Vector3(1,0,0),2));
这节课主要讲了一下Dotween中Sequence的insert的用法
首先,先定义一个序列
Sequence quene = new Sequence();
然后,让它进行运动(0-2s)
quene.Append(transform.DOMove(vector3.one,2))
缓动1s(2-3s)
quene.AppendInterval(1)
然后,再让它进行运动(3-5s)
quene.Append(transform.DOMove(new vector3(1,0,0),2))
下面开始说一下插入语句的用法
quene.Insert(1,2)
1:时间,此方法把动画插入到规定的时间点,把domove动画添加到此队列的0s执行
2-1:添加内容
2-2:持续时间
Dotween动态效果插件
广泛用于UI效果,点击效果 相当于扩展插件的库
(DotweenPro收费版 免费版free)
获取插件放到项目的新建文件夹Plugins中
或者在Asset Store商店中导入import(新版本中)
点击
就可以了
了解
Documentation 官网上了解
纯英文的网站
建议使用谷歌网站访问,翻译成中文
引用命名空间
using DG.Tweening;
//单轴移动 目标位置,移动时间
transform.DOMove(Vector3.one,2);
//世界坐标
transform.DOLocalMoveX(1, 2);
//局部坐标
transform.DOLocalMove(Vector3.one, 2);
//旋转 只有整体改变的没有单坐标的
transform.DORotate(Vector3.zero,2);
//局部旋转
transform.DOLocalRotate(Vector3.zero, 2);
插入的同种方法在同时刻会覆盖,不同方法同时刻会与当前时刻的动画混合
Sequence sequence = DOTween.Sequence();
覆盖: sequence.Append(transform.DOMoveX(5,2f));
sequence.Insert(0f,transform.DOMoveX(-5,2f);
混合:
sequence.Append(transform.DOMoveX(5,2f));
sequence.Insert(0f,transform.DOMoveZ(-5,2f);
18 加入方法的用法
加入当前动画
Join会加入和让动画与当前正在执行的动画一起执行。如下两行代码,DOMove会和DOScale一起执行。
----------------------------------------------
quence.Append(transform.DOScale(new Vector3(2, 2, 2), 2));
quence.Join(transform.DOMove(Vector3.zero, 2));
-----------------------------------------------
quene.join(transform.doscale(vector3.one,2));
还有
quene.Insert(0,transform.DOScale(Vector3.one,2))
rotate旋转
//旋转 只有整体改变的没有单坐标的
transform.DORotate(Vector3.zero,2);
//局部旋转
transform.DOLocalRotate(Vector3.zero, 2);
//资源树 旋转到提供的位置 使用较少,难度高
transform.DORotateQuaternion(new Quaternion(0.1f,0.1f,0.1f,0.1f),2);
// 慢慢看向这个位置
transform.DOLookAt(Vector3.one,2);
scale缩放
//man --kuai -man 平滑曲线
//transform.DOScale(Vector3.one*2,2);
/*弹弹弹 第一个参数 punch 运动的方向 力的大小
第二个参数 duration持续时间
第三个参数 震动次数(频率)
第四个参数0-1
当它为0的时候 从起始点
*/
// transform.DOPunchPosition(new Vector3(0,1,0),2,2,0.1f);
//参数是一样的,运用到不同的地方
//transform.DOPunchRotation(new Vector3(0, 1, 0), 2, 2, 0.1f);
//transform.DOPunchScale(new Vector3(0, 1, 0), 2, 2, 0.1f);
震动函数
/**
* 老版本都会执行,产生效果
* 新版本只会执行最新的一行
* transform.DOMove(Vector3.one,2);
transform.DOMove(Vector3.one*2, 2);
*/
//blend 将正常的两个坐标合在一起 动画混合 先进行计算,后显示
//transform.DOBlendableMoveBy(Vector3.one , 2);
// transform.DOBlendableMoveBy(-Vector3.one , 2);
//只有一个punch方法 transform.DOBlendablePunchRotation(-Vector3.one * 2, 2);
/** 材质material改变颜色动画 */
//获取子的材质球
Material material = GetComponent<MeshRenderer>().material;
//设置颜色
material.DOColor(Color.red,2);
//通过shaders改变颜色--适用于没有maincolor的材质
material.DOColor(Color.red,"namecolor", 2);
> //需要把unity中shader材质修改particles/Standard Unlit
//Blending Options Rendering Mode改成Fade
//透明 颜色的值,是一个四维向量,最后一位 阿尔法 是0
// material.DOColor(Color.clear,2);
//淡入透明所需要的时间
material.DOFade(0,2);
Tip:中间最好指定名字
默认设置_Color的值
(为空报错)
> //需要把unity中shader材质修改particles/Standard Unlit
//Blending Options Rendering Mode改成Fade
每个材质都有自己的特点