Dotween动画系统

Dotween(1)

  • 移动(Move)
  • 旋转(Rotate)
  • 震动(Shark)
  • 增量(Blend)
  • 材质(Material)
  • 相机(Camera)
  • Text
  • 队列(Sequence)
  • 预添加
  • 设置参数
  • SetEase设置运动方式
  • 回调函数
  • 控制函数

移动(Move)

    //对物体进行移动,前一个参数是坐标后一个是时间
    //transform.DOMove(new Vector3(1,1,1),2);//世界坐标
    //transform.DOLocalMove(new Vector3(1, 1, 0), 2);//局部坐标
    //transform.DOMoveX(1,2);//只对X轴移动
    //transform.DOMoveY(2,2);//只对Y轴移动

旋转(Rotate)

    //transform.DORotate(new Vector3(0,90,0),2);//对物体进行旋转改变角度
    //transform.DORotateQuaternion(new Quaternion(0.1f,0.1f,0.1f,0.1f),2);    //以四元数的方式进行旋转


    //缩放(Scale)
    //transform.DOLookAt(new Vector3(1,1,0),2);//z轴正方向指向的位置
    //transform.DOScale(new Vector3(2, 2, 2), 2);//对物体进行缩放;
    //transform.DOScaleX(2,2);//X轴缩放

    //
    //第一个参数是施加力的大小和方向
    //第二个参数是持续时间
    //第三个是震动频率
    //第四的值为0到1,如果为0,就是在起始点到目标点之间运动;不为0时,会把你赋的值乘上一个参数,作为你运动方向反方向的点,物体在这个点和目标点之间运动。注:可以看成弹簧
    //transform.DOPunchPosition(new Vector3(0, 10, 0), 5, 5, 0.1F);//
    //transform.DOPunchRotation(new Vector3(0,90,0),2,2,0.1f);//旋转
    //transform.DOPunchScale(new Vector3(3, 0, 0), 2, 2, 0.1f);//缩放

震动(Shark)

    //transform.DOShakePosition(3,new Vector3(2,2,0),2);
    //transform.DOShakeScale(2,new Vector3(3,0,0),1,90);

增量(Blend)

    //transform.DOBlendableMoveBy(new Vector3 (0,2,0),2);//在原位置的基础上进行增加
    //transform.DOBlendableMoveBy(new Vector3(2, 0, 0), 2);
    //transform.DOBlendablePunchRotation(new Vector3(0, 90, 0), 2, 2, 0.1f);

材质(Material)

    //Material material = GetComponent().material;
    //material.DOColor(Color.red,2);
    //material.DOColor(Color.clear,2);//改变材质透明度
    //material.DOGradientColor(gradient,2);//材质颜色渐变


    //material.DOBlendableColor(Color.red, 2);
    //material.DOBlendableColor(Color.blue, 2);//颜色混合

相机(Camera)

    //Camera camera = GetComponent();
    //camera.DOAspect(1,2);//改变相机的宽高比
    //camera.DOColor(Color.green,2);//改变相机的背景颜色
    //camera.DONearClipPlane(3,2);//改变相机的近切面
    //camera.DOFarClipPlane(30,0.1f);//改变相机的远切面
    //camera.DOFieldOfView(30,2);//相机视野,可用于游戏中的倍镜
    //camera.DOOrthoSize(3,1);//用于相机正交视野的大小;正交视野:2D图形下相机的视野
    //camera.DOPixelRect(new Rect(0,0,360,540),2);//相机的分辨率前两个数值是相机的位置后两个数值是相机的分辨率;可以用于屏幕的分屏
    //camera.DORect( new Rect(0.5f,0.5f,0.5f,0.5f),2);//百分比形式
    //camera.DOShakePosition(1,10,10);//时间,震动力量,震动次数

Text

    //Text text = GetComponent();
    //text.DOBlendableColor(Color.red,2);//混合颜色
    //text.DOText("qqqqqqq", 2);//让文本中的内容一个一个显示,text.DOText("qqqqqqq",5).SetEase;均速显示
    //text.DOText("qqqqqqq", 2).SetEase(Ease.Linear);
    //text.DOFade(0.5F,2);
    //text.DOBlendableColor(Color.blue,2);

队列(Sequence)

    //Sequence se = DOTween.Sequence();
    //se.Append(transform.DOMove(new Vector3(0, 2, 2), 2));//将动画添加到队列中实现队列逐个的实现
    //se.Append(transform.DOMove(new Vector3(0, 2, 0), 2));
    //se.AppendCallback(Append);//插入函数
    //se.AppendInterval(0);//队列延时将动画队列暂停
    //se.Append(transform.DOMove(new Vector3(0, 0, 2), 2));
    //se.Insert(6,transform.DOMove(new Vector3(0,0,0),2));//插入动画
    //se.Join(transform.DOScale(new Vector3 (2,2,2),2));//作用与Insert相似但需要放在插入动画的之后

预添加

    //se.Prepend(transform.DOMove(new Vector3 (2,2,2),2));
    //se.PrependInterval(2);
    //se.Prepend(transform.DOMove(new Vector3(2, 0, 0), 2));//反向运行
    //se.InsertCallback(2,Back);//插入回调函数

设置参数

    //TweenParams tween = new TweenParams();
    //tween.SetLoops(3,LoopType.Restart);
    //transform.DOMove(new Vector3(2, 2, 2), 2).SetLoops(3, LoopType.Restart);
    //transform.DOMove(new Vector3(2, 2, 2), 2).SetLoops(3,LoopType.Yoyo);//设置循环,SetLoops中前一个参数是循环次数如果循环次数值为-1则为无限循环,
    //transform.DOMove(new Vector3(2, 2, 2), 2).SetLoops(3,LoopType.Incremental);//LoopType.Incremental为叠加,LoopType.Yoyo来回运动
    //transform.DOMove(new Vector3(2, 2, 2), 2).SetLoops(3, LoopType.Yoyo).SetAutoKill(true);//SetAutoKill自动清除缓存
    //transform.DOMove(new Vector3(2, 2, 2), 2).SetLoops(3, LoopType.Yoyo).From();//
    //transform.DOMove(new Vector3(2, 2, 2), 2).SetDelay(3);//动画延迟
    //transform.DOMove(new Vector3(2, 2, 2), 10).SetSpeedBased();//将时间设置为速度
    //transform.DOMove(new Vector3(2, 2, 2), 2).SetId("DO");//设置ID
    //transform.DOMove(Vector3.one, 2).From(true);//补间
    // DOTween.Play("DO");//调用ID
    //transform.DOMove(new Vector3(2, 2, 2), 2).SetRecyclable();//SetRecyclable回收
    //transform.DOMove(new Vector3(2, 2, 2), 2).SetRelative();//相对运动

    // transform.DOMove(new Vector3(2, 2, 2), 2).SetUpdate(UpdateType.Normal);//true为是否忽略Unity自身的帧
    //transform.DOMove(new Vector3(2, 2, 2), 2).SetUpdate(UpdateType.Fixed);

SetEase设置运动方式

    //transform.DOMove(new Vector3(2, 2, 2), 2).SetEase(Ease.Linear);//匀速运动
    //transform.DOMove(new Vector3(2, 2, 2), 2).SetEase(Ease.Flash,3,0);

回调函数

    //transform.DOMove(new Vector3(2, 2, 2), 2).OnComplete(()=> { Debug.Log("ss"); });//动画完成时执行
    //transform.DOMove(new Vector3(2, 2, 2), 2).OnKill(()=> { Debug.Log("ss"); });//动画被销毁时执行
    //transform.DOMove(new Vector3(2, 2, 2), 2).OnPause(() => { Debug.Log("ss"); });//暂停时执行
    //transform.DOMove(new Vector3(2, 2, 2), 2).OnStart(() => { Debug.Log("ss"); });//开始时执行且执行一次
    //transform.DOMove(new Vector3(2, 2, 2), 2).OnStepComplete(() => { Debug.Log("ss"); });//动画每循环一次调用一次
//transform.DOMove(new Vector3(2, 2, 2), 2).OnRewind(() => { Debug.Log("ss"); });//动画每重新开始一次执行一次 

控制函数

//transform.DOPause();暂停动画
//transform.DOPlay();播放动画
//transform.DORestart();重新播放动画
//transform.DORewind();倒播动画
//transform.DOSmoothRewind();平滑倒播
//transform.DOKill();销毁动画
//transform.DOFlip();反转动画
//transform.DOGoto(1,true); 跳到动画的第几秒
//transform.DOPlayBackwards();反向播放
//transform.DOTogglePause();若暂停则播放,若播放则暂停
//await Task.Delay(TimeSpan.FromSeconds(1));暂停一秒

你可能感兴趣的:(unity,unity,游戏引擎)