DOTween的一些基本用法

说明:参照Siki学院Andy老师的课程整理的关于DOTween的一些比较常用的方法,再次感谢老师的讲解

适合看的人呢:稍微知道这个插件是干嘛的就行O(∩_∩)O,至少我觉得是

由于前面有些没有记,也是些比较基本的,就直接放图片了,

shake是震动

blend是类似混合动画,将两个动画进行混合。而且是个增量。

 


 

Material

Material m = GetComponent<MeshRenderer>().material;

m.DoColor(Color.red,2);//这个的基础是物体的Shader中有Main Color这个属性的,没有的话不能改变,是有解决办法的,下面:

m.DoColor(Color.red,"_TintColor",2);//""中的是颜色的名字

改变材质的透明度

m.DoColor(Color.Clear,2);

m.DoFade(0,2);

 

public Gradient _gradient;

m.DoGradientColor(_gradient,2);//只是渐变颜色

//Gradient 是什么呢,定义了之后出来的,,上头那个是透明度,下头的标记是颜色

 

m.DoVector();//改变Shader中四维向量的值

 

m.DoBlendableColor(Color.red,2);//混合颜色

m.DoBlendableColor(Color.yellow,2);


 

Camera

Camera c = GetComponent<Camera>();

c.DoAspect(1);//改变相机的宽高比(宽/高),1的时候就是个正方形

c.DoColor(Color.red,2);//改变相机背景颜色

 

c.DoNeraClipPlane();//改变相机近切面和远切面的值

c.DoFarClipPlane();

 

c.DOFieldOfView(1,5);//相机张开的角度,可以用这个实现倍镜效果,越小物体越大

 

c.DOOrthoSize();//改变相机正交大小

//相机分屏

c.DOPiexelRect(new Rect(0,0,500,500),2);//改变相机视域,头两位的0,0,代表坐标,从哪开始算

c.DoRect();//按百分比显示

//相机晃动

c.DOShakePosition(2,10,20);


Text

Text t = GetCompoent<Text>();

DoColor/DOFade/DOBlendableColor

 

t.DoText("aaaaaaaa",0.5f);//让字一个字一个字的弹出,后面加上 ".SetEase(Ease.Linear);"匀速弹出

 


 

队列

Sequence quence = DOTween.Sequence();

quence.Append(transform.DOMove(Vector3.one,2));//0-2s

quence.Join(transform.DOScale(Vector3.one*2,2));//加入到上一个方法同时执行

quence.AppendInterval(1);//添加延时//2-3s

quence.Append(transform.DOMove(new Vector3(1,0,0),2));//3-5s

 

quence.Insert(0,transform.DOMove(-Vector3.one,2));//插入一个动画,第一个参数是所在的时间,跟上头一块用的时候会把0-2s的动画覆盖掉,执行插入的这个动画,ps:这个插入可以不同类型的同时执行,比如边位移边放大

 

quence.Prepend(transform.DOMove(-Vector3.one*2,2));//预添加,添加到Append之前,后添加的先执行

 

//队列回调函数

quence.InsertCallback(5,InsertCakkBack);//1,插入的时间点2,回调函数.........第五秒执行那个函数

private void InsertCakkBack(){Debug.Log("1235497");}

同样的,还有AppendCallback/PrependCallback


设置参数

.SetLoops();//1、循环次数,-1无限循环,2、LoopType

.SetAutoKill(true);//自动缓存

.From();//返回起始点,如果添加参数True,作为增量运动,就是起始点与目标点一样依旧会运动

.SetDelay(3);//设置延时

.SetSpeedBased();//让物体运动以速度为基准,原先代表时间的现在就代表速度了,参数true代表以速度为基准

 

//调用缓存

.SetId(“ID”);//先设置ID

.DoTween.Play("ID");

 

.SetRelative(true);//相对运动,也就是增量运动

 

//设置帧函数

.SetUpdate(UodateType,true//不受Unity中TimeScale影响)

 


 

Ease(http://robertpenner.com/easing/easing_demo.html

transfrom.DOMove(Vector3.one,2).SetEase(Ease.InBack);//括号中的网站找就行了

 

添加自己可以调节的一个曲线

public AnimationCurve _curve;

transfrom.DOMove(Vector3.one,2).SetEase(_curve);


 

回调函数

//动画完成时执行的函数

transform.DOMove(Vector3.one,2).OnComplete();

//动画被杀死的时候

transform.DOMove(Vector3.one,2).OnKill();

//动画play的时候

transform.DOMove(Vector3.one,2).OnPlay();

//动画暂停的时候

transform.DOMove(Vector3.one,2).Onpause();

//动画第一次执行的时候

transform.DOMove(Vector3.one,2).OnStart();

//动画循环的时候,每循环完一次的时候都会调用一次

transform.DOMove(Vector3.one,2).OnStepComplete();

//动画运行的时候

transform.DOMove(Vector3.one,2).OnUpdate();

//动画重新播放的时候,比如:restart、rewind、doflip、dobackward

transform.DOMove(Vector3.one,2).OnRewind();

 


 

控制函数

DOPause()//暂停

DOPlay()//播放

DORestart()//重播

DORewind()//倒播

DOKill()//杀死

DOFlip()//翻转补间,就是目标点和终点位置互换

DOGoto()//跳转到时间点位置并且是否播放;

DOPlayBackwards()//反向播放动画,跟flip差不多

DOPlayForwaed()//正向

DOTogglePause()//如果在暂停的时候运行就是播放,在播放的时候就是暂停

 

 

 

 

 

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值