DoTween使用方法
官网地址:http://dotween.demigiant.com/
使用dotween插件需要引入名称空间using DG.Tweening
1.使用DoTween控制一个Vector3的值
public Vector3 Vec3 = new Vector3(0,0,0);
void start(){
DOTween.To(()=>Vec3,x=>Vec3=x,new Vector3(10,10,10),2);//前两个参数是两个委托,表示将Vec3变化量是x,速度是2
}
2.使用DoTween控制一个object位置的改变
public RectTransform panel;
public bool in = true;
panel.DOMove(new Vector3(0,0,0),1);//1s时间内移动到(0,0,0)位置,世界坐标
public Start(){
Tweener tweener = panel.DOLocalMove(new Vector3(0,0,0),1);//1s时间内移动到(0,0,0)位置,局部坐标
//上面两种动画播放完毕后会被默认被销毁,Tweener对象会保存动画的所有信息,每次调用do类型的防范都会创建一个Tweener对象,该对象有dotween来管理
tweener.SetAutoKill(false)//不自动销毁,这样后面的动画倒放才能实现
tweener.pause();
}
public Update(){
if(in){
in = false;
tweener.DOPlayForward();//动画向前正常播放
} else{
in = true;
panel.DOPlayBackwards();//动画倒放panel.DOPlayBackwards();//动画倒放
}
}
3.单独一个轴的移动 & From Tween
void Start(){
transform.DOMoveX(5,1);//在1s的时间内将x坐标从当前位置移动到5的位置
transform.DOMoveX(5,1).From();//从目标位置运行到当前位置
transform.DOMoveX(5,1).From(true);//默认为false,为true时表示相对坐标
}
4.动画属性设置(动画曲线)和事件函数
Tweener tweener = DOMoveX(0,1);//所有动画操作都是通过tweener对象设置
tweener.SetCase(Ease....);//设置运动曲线
tweener.SetLoops();//设置动画循环的方式
tweener.OnCompleted(onCompletefunction);//动画播放完成后调用某个方法
void onCompletefunction(){}
5.DOTween实现对话框文字动画
例子:实现text文本的打印机效果
Public Text text;
text = GetComponent<Text>();
text.DOText("接下来进入我们的新篇章",4);//文字会一个一个显示,假如原来就有一段text,则逐渐替换原来的文字
6.屏幕震动效果
方法:给camera添加一个动画,让camera向随即方向运动
相机挂在脚本
void start(){
transform.DOShakePosition(1,new Vector3(1,1,0));1震动时间; 2.只在x,y平面震动;
}
7.颜色和透明度动画
例子:文本的颜色渐变
text = GetCompent<Text>();
text.DOColor(color.red,2);//2s时间渐变为红色
text.DOFade(1,2);//透明度渐变
8.DOTween的可视化组件
可以通过添加dotween animation组件来进行动画的操作
9.DOTweenPath 路径编辑器
控制运动轨迹,例如场景漫游
方法:
1.添加dotweenpath组件
2.按住shift + ctrl添加路径点
3.按住shift + alt 移除路径点