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.表示路径无效、路径尚未初始化或者这不是一个路径动画。
这个可用来做简单的运镜效果
还可以做塔防游戏中怪物的行走路线等等
上一篇: 移动端组件化实践
下一篇: Unity事件和委托
推荐阅读
-
PHP中__get()和__set()的用法实例详解
-
js中apply()和call()的区别与用法实例分析
-
unity中Dotween插件的常用用法和实例
-
php中的curl使用入门教程和常见用法实例
-
C++中引用(&)的用法和应用实例
-
PHP中的插件机制原理和实例
-
Angular中$cacheFactory的作用和用法实例详解
-
mysql 中 replace into 与 insert into on duplicate key update 的用法和不同点实例分析
-
Excel 中 BESSELJ 函数的公式语法和用法实例介绍
-
JS中for,for...in,for...of和forEach的区别和用法实例