Unity常用插件之DoTween(一)
来源:互联网 发布:unity3d awake 编辑:程序博客网 时间:2024/05/29 02:28
现如今大多数Unity中的物体移动或者ui变化我都会使用dotween来做,我毫不怀疑没有这样一个插件我的工作效率会变得更低。
这几篇笔记主要是通过学习DoTween官方提供的Example和粗略的阅读文档来记录下如何使用Dotween的常用功能。
这个就是dotween官方提供的Example,有五个场景,先从第一个看起。
Basics:
它的场景是这样的
运行后场景中的四个cube会分别进行移动,其中紫色除了进行移动外,颜色也会发生循环的变化。
如何使用Dotween让物体动起来?
可以通过挂组件和写脚本两种方式,挂组件或许更快,但数量多了之后就难以控制,所以除了刚开始,我通常更喜欢用脚本控制。
脚本的书写方式
Dotween文档上说明,There are 3 ways to create a Tweener: the generic way, the shortcuts way and additional generic ways.
我通常使用的是the shortcuts way。我觉得应该大多数人都会选择用这种方式吧。
它的画风是这样的:
transform.DOMove(new Vector3(2,3,4), 1);rigidbody.DOMove(new Vector3(2,3,4), 1);material.DOColor(Color.green, 1);其实很好理解,希望对某个物体进行操作,就获取它对应的组件然后调用dotween函数,比如说移动缩放旋转通常是获取transform组件后调用,改变颜色或让其fade通常是获取材质后调用。
这在文档中都有很好的说明:http://dotween.demigiant.com/documentation.php
回到example的basics场景中。
这是新建的一个场景,首先实现第一个 ,让一个cube移动到世界坐标0,4,0;
transformTo.DOMove(new Vector3(0, 4, 0), 1f);transformTo是指向这个cube的transform的变量
public Transform transformTo, transformFrom, transformRelative, transformColor;注意使用dotween时需要先引入命名空间
using DG.Tweening;
DoMove方法中的参数一个是终点坐标,一个是动画周期的时间。就是说之前做的是花1秒时间从当前位置移动到世界坐标(0,4,0);
那如果我希望的是从某个位置移动到当前位置呢,比如说将上面这个改成花一秒时间从(0,4,0)移动到当前位置
transformFrom.DOMove(new Vector3(0, 4, 0), 1f).From();在后面加上.From()就行了。
如果我并不是想让我的cube前往某个固定的世界坐标位置,而只是想让它做一个相对于当前坐标的移动,比如说向上移动4,那么可以这么写
transformRelative.DOMove(new Vector3(0, 4, 0), 1f).SetRelative();
改变颜色
在官方的案例中,第四个cube又进行了位移又改变了颜色,其实位移就是上面的那行代码只不过换一个指定对象,
说说颜色改变,前面提过要对物体的什么进行操作,就要获取对应的组件,这里改变颜色,首先要获取它的material
transformColor.GetComponent<Renderer>().material.DOColor(Color.red, 1f);如何让动画循环,案例中的颜色改变是循环进行的,想让某个动画循环只需要在后面接着写
transformColor.GetComponent<Renderer>().material.DOColor(Color.red, 1f).SetLoops(-1, LoopType.Yoyo);SetLoops的参数一个指定了循环次数,一个指定的循环方式
-1代表的是无限的循环,循环方式有三种,默认是restart,也可以指定为Yoyo或Incremental
- Unity常用插件之DoTween(一)
- Unity常用插件之DoTween(三)
- Unity常用插件Dotween(四)
- 【DoTween】Unity插件DOTween教程(一)
- Unity插件Dotween(二)
- Unity动画插件DoTween使用总结(一)
- Unity插件学习——DOTween(一)
- unity之DOTween插件学习01
- unity之DOTween插件学习02
- [Unity插件]DOTween基础
- Unity插件 DOTween基础
- Unity插件DOTween教程
- Unity插件 DOTween基础
- [Unity插件]DOTween基础
- [Unity插件]DOTween(2)
- [Unity插件]DOTween(3)
- [Unity插件]DOTween基础
- Unity DoTween插件说明
- mt4
- JavaScript 深拷贝 & 浅拷贝
- [读书笔记]python爬虫-scrapy安装过程常见问题及解决方法
- Mac文件系统
- 缓存淘汰算法之LRU
- Unity常用插件之DoTween(一)
- 学习贵在坚持!
- [python]python常用内置函数
- codeforces544C
- Linux 日志定时轮询流程详解
- 算法练习——“百钱买百鸡”
- 第五部分:MapReduce Shuffle过程
- 关于斐波那契数列那些事
- 前后端数据交互方法