首先引入命名空间:using DG.Tweening;
物体的
移动 旋转
transform.DOMove( Vector3.one,2) //将物体由一个地方移动到另外一个地方 前一个坐标 后一个时间
transform.DoLocalMove(1,2)//局部坐标移动同上
transform.DORotate(Vector3.one,2)//将物体由一个地方旋转到另外一个地方 前一个坐标 后一个时间
eg:transform.DORotate(new Vector3(1,2,3),2)
transform.DORotate(new Quaternion(0.1f,0.1f,0.1f,0.1f),2)//四元数旋转角度
transform.DoLocalRotate(1,2)//局部
transform.DOLookAT(Vector3.one,2);//旋转看向目标点
物体缩放及Punch函数的参数解释
transform.DOScale(Vector3.one*2,2);//缩放两倍 时间2
transform.DOPunchPosition(new Vector3(0,1,0),2,2,0.1f);//类似于一个球掉落地上的效果 四个参数:Punch:要运动的方向 和力的大小 Duration: 持续时间 震动频率: 取值0-1:为0时,从起始点到赋值点
transform.DOPunchRotation( )
transofrm.DOScale()
shake 函数震动
transform.DOSHakePosition(2,Vector3.one,10,90,);//乱震动 荡 用于相机的震动
Blend函数 混合 :把正常的两个坐标移动到一起
transform.DOBlendableMoveBy(Vector3.one,2) //是一个增量
transform.DOBlendableMoveBy(-Vector3.one-2,2)//将两个移动 同时执行 结果为-1的坐标
同理还有 Rotate Scale Color
transform.DOBlendablePunchRoataion()
材质改变颜色动画
//获取材质球
Material material =GetComponent<MeshRender>().material; //materials 多个材质
material.DOColor(Color.red,2); //变成红色 两秒 这里如果材质球的颜色不是COlor 就这样:material.DOColor(Color.red,"_TinColor”.2);
材质改变透明度
material.DOColor(Color.clear,"_TinColor",2); //将材质变成透明的 过度时间2秒
material.DOFade(0,"_TinColor",2); //逐渐变透明 同上
颜色渐变动画
//创建一个变量 unity 渐变编辑器
public Gradient _gradient;
material.DOGradientColor(_gradient,"__TinColor",2);
相机拓展
//获取相机组件
Camera camera=Getcomponent<Camera>();
//第一个参数=宽/高
camera.DOAspect(1f,2); //改变大小
camera.DOColor(color.red,2); //改变颜色
camera.DONearClipPlane(近切面值,持续时间);//近切面
camera.DOFarClipPlane(近切面值,持续时间);//远切面
camera.DOFieldofView(1,5); //fov 放大视角
camera.DOOrthoSize( , ); //同上
如何对变量进行动画
//引入命名空间
public Vector3 myVelue =new Vecotr3(0,0,0);
start调用
DOTween.to(()=>myValue,x=>myValue=x,new Vector3(10,10,10),2);
控制UI动画
public RectTransform PanelTransform;
public void Onclick()
{
panelTransform.DolacalMove (new Vector3(0,0,0),0.3f)
}