7537人加入学习
(77人评价)
Dotween API详解及动效插件(Unity 2017.3)

制作完成于2018-12-14

价格 免费

Blender是一个增量播放动画

和DOMove不同的是,Blendable会在目标点的位置做一个增量

[展开全文]

  /**
         颜色渐变Gradient

        首先定义一个_gradient   在unity中该脚本产生出颜色渐变器工具

        Alpha值代表透明度0-255
        上面的代表透明度

        下面的代表颜色

         */
       //让unity上面指定的颜色显示
        material.DOGradientColor(_gradient,2);

[展开全文]

只有Shader里有_Color属性,才可以通过material.color对物体的颜色进行改变

material.DOColor(color.red,"_TintColor",2);

通过这种方式,可以找到Shader中的Color属性

或者

material.SetColor

[展开全文]

改变材质offset的值
material.DOOffset(new Vector2(1, 1), 2);

不常用

改变提供的shader属性的名称对应的Vector4值
material.DOVector(new Vector4(0, 0, 0, 1), "_Color", 3);

 

[展开全文]

   /**10-材质的颜色混合
         * DOColor同时执行两个会执行最新的那个
         *  material.DOColor(Color.red,"_Color",2);
         *  material.DOColor(Color.green, "_Color", 2);
         *  将 红色-绿色 混合在一起 变成了黑色  
         * */
        material.DOBlendableColor(Color.red,"_Color", 2);
        material.DOBlendableColor(Color.green, "_Color",2);

 

[展开全文]

给相机挂载脚本

 //Camera camera = GetComponent<Camera>();
        ////改变屏幕的宽高比
        //camera.DOAspect(0.5f,2);
        ////改变颜色
        //camera.DOColor(Color.red,2);

 

  //启用协程
        StartCoroutine(ChangeColor());

    }
    /// <summary>
    ///  创建协程方法
    /// </summary>
    IEnumerator ChangeColor() {
        Camera camera = GetComponent<Camera>();
        //这个颜色是渐变的,时间越长效果突出
        camera.DOColor(Color.red, 0.1f);
        yield return new WaitForSeconds(0.1f);
        camera.DOColor(Color.blue, 5);
        yield return new WaitForSeconds(5);
        camera.DOColor(Color.red, 0.1f);
        yield return new WaitForSeconds(0.1f);
        camera.DOColor(Color.blue, 5);
    }//近切面
        camera.DONearClipPlane(2,2);
        //远切面
       // camera.DOFarClipPlane(2,2);

[展开全文]

Field of View

放大镜

 

  camera.DOFieldOfView(1,5);  

简称fov


         * 改变相机正交视域的大小
         * Projection 投射,放映   
         *   默认的是Perspective透视的

         *   Orthographic正交

         *   camera.DOOrthoSize(1,20);
       

 

 

 

 

 

[展开全文]

DoTween.Shark();相机震动的方法

动画混合

//blend();

 

[展开全文]

//修改透明度
        material.DOFade(0.5f,3);

//参数1、透明度百分比,值的范围[0,1];

//参数2、耗时

[展开全文]

blend() 混合动画

//材质改变的动画

Shader材质颜色的改变,粒子的

[展开全文]

Insert动画可以添加到当前播放时间以外的时间

如果添加到原来的时间,则覆盖原来的动画。

[展开全文]

 // camera.DOPixelRect(new Rect(360,0,500,500),2);

 

 

使用百分比

多相机实现分屏效果的方式

新建相机Main Camera

xy的位置坐标修改一下
        camera.DORect(new Rect(0, 0, 500, 500),3);

[展开全文]

用insert方法可以让两个动画tong shi zhi x

[展开全文]

/**14-相机晃动效果实现
         * 传递参数: duration持续时间
         *            strendth强度
         *            vibrato震动次数
         *     可忽略参数       
         *            randomness随机参数
         *            fade是否淡入
         *            
         */
        camera.DOShakePosition(2,10,10);

 

 

[展开全文]

 /**16-队列—添加动画及添加延时
         * 队列:根据队列一个一个的执行对话
         * 生成一个对象
         */
        //方法一
        Sequence quence = DOTween.Sequence();
        //缓存其他对象的方法,做一些便利的操作   可用性较高
        quence.Append(transform.DOMove(-Vector3.one,2));//把一项加入
        quence.AppendInterval(1);//添加延时
        //先执行第一个,然后依次执行
         //方法二
        quence.Append(transform.DOMove(new Vector3(1, 0, 1), 2));//把一项加入

 

[展开全文]