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

在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组件 首先给一个物体添加这个组件
在这里插入图片描述
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.表示路径无效、路径尚未初始化或者这不是一个路径动画。

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

发布了52 篇原创文章 · 获赞 47 · 访问量 1万+

猜你喜欢

转载自blog.csdn.net/weixin_44302602/article/details/103946680