欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

unity中Dotween插件的常用用法和实例

程序员文章站 2022-07-13 22:05:15
...

在unity的开发和学习的过程中 我们可以尝试多多接触一些有用的插件,这样可以有效的避免反复造*
避免一些在每个项目中都有的操作反反复复做工作
这篇博客给大家介绍一下Dotween插件的几种常用的方法 和两个小实例
这个插件在官网和商店中均可以下载 然后导入即可

transform.DOMove(new Vector3(0, 5, 5), 3f).From();
//表示从当前位置到目标位置 第一个参数是目标位置 第二个参数是时间 
//加上From()之后表示相反的移动方向

上边是一个简单的移动代码

DOMove 移动 用在UI上和Gameobject是不同的,返回的是一个Tweener对象

public Ease ease;

private void Update
{
 if (Input.GetKeyDown(KeyCode.Space))
        {
            isApp = !isApp;
        }
        if (isApp)
        {
            tweener = transform.DOLocalMoveX(760, 0.5f);//x的位置的变化
            tweener.SetEase(ease);//返回值类型
        }
        else if (!isApp)
        {
            tweener = transform.DOLocalMoveX(0, 0.5f);//x的位置的变化(从当前的x值到目标值)
            tweener.SetEase(ease);//返回值类型
            //tweener.SetLoops(1);//这个动画循环次数
        }
}

上边的代码的可以实现一个简单的UI的image等模块的动画
减少游戏设计中突兀感

 textimage.DOColor(Color.red , 5);//第一个参数是想要达成的颜色 后边是时间   

这个方法可以改变物体颜色(包括UI)

 if(Input.GetKeyDown(KeyCode.Space))
        {
            transform.DOShakePosition(1, new Vector3(1, 1, 0));//第一个参数是持续时间 然后是限制的范围
            //第二个参数可以控制大小 (震动之后还会回到原来的位置)
        }

这个方法可以控制物体的震动 多用于摄像头的震动 比如在一些动作游戏中主角等的摔倒可以让摄像头产生震动的效果

Dotween path组件
下面介绍一下Dotween path组件 首先给一个物体添加这个组件
unity中Dotween插件的常用用法和实例
a.路径点的创建和删除。
b.路径的可视化。
c.路径动画的控制。
需要注意的是:一旦Path动画开始播放我们就不能对Path路径有任何修改。

相关参数
静态创建:
在需要添加Path动画的物体上挂上 DOTweenPath 组件.
a. Shift + Ctrl : 添加路径点
b. Shift + Alt : 删除路径点
动态创建:
transform.DOPath(vector3[] waypoints,float duration);
a. waypoints : 路径点
b. duration : 动画时间
c. pathtype : 路径类型,路径类型分为线性或者利用CatmullRom插值算法形成的曲线。(默认参数)
d. pathmode : 路径模式,主要是用于对物体三个方向上的旋转的限制。(默认参数)
e. resolution :CatmullRom算法的参数,数值越大曲线越精细,一般5足以,默认为10。(默认参数)
f. gizmoColor :辅助线的颜色,只会在动画Running时在Secene面板上可见。 (默认参数)
一般动画有的方法Path都有,我就介绍几个独特的方法:
a. SetOptions(bool closePath,AxisConstraint lockPos,AxisConstraint lockRota);
i.第一个参数不用说上面有。
ii.路径上三个维度的位置限制,给的参数为AxisConstraint.X,那么路径在X上位置不会变化。
ii.路径上三个维度的方向限制,给的参数为AxisConstraint.X,那么路径在X上方向不会变化。
b. SetLookAt() 设置Path动画 Orientation 属性的。
c. PathLength() 返回路径长度。
d. PathGetPoint(float pathPecentage); 参数为0~1小数,返回路径上小数百分比对应的点。
e. PathGetDrawPoint(float pathPecentage);参数为返回构成路径点的个数。
注意d.e两个方法,如果返回为Vector3.zero或者null.表示路径无效、路径尚未初始化或者这不是一个路径动画。

这个可用来做简单的运镜效果
还可以做塔防游戏中怪物的行走路线等等