Unity常用动画插件DOTween快速上手

DOTween是最常用的动画插件之一,比使用Unity自带脚本写动画,方便很多。

目录

  • 导入和设置
  • 使用说明
    • 通用方法
    • 便捷方法
    • 添加设置
    • 事件响应
    • 序列和参数
    • 控制
    • 协程和异步
    • 视频说明

导入和设置

DOTween在Unity的商城里,有免费版和收费版,一般使用免费版就足够了。收费版DOTween Pro看说明主要是多了一些辅助的编辑器。
DOTween商城地址:http://dotween.demigiant.com
DOTween首次使用需要设置,导入以后会弹出下面的窗口,点击按钮就好。
Unity常用动画插件DOTween快速上手_第1张图片
之后点击绿色的“Setup DOTween”按钮就能设置。下面的那个青色的按钮是生成一个ASMDEF文件,让写脚本的时候不必每次都去编码DOTween的内容,提高写完代码切换的速度。
这个窗口可以通过菜单Tools/Demigiant/DOTween Utility Panel再次打开,要访问官网查看文档通过这里都很方便。
Unity常用动画插件DOTween快速上手_第2张图片
点击了按钮就显示这个界面,默认全选就好,再选中Apply按钮就可以了。
Unity常用动画插件DOTween快速上手_第3张图片

使用说明

使用前需要添加引用

using DG.Tweening;

基本写法看上去是这样的:

DOTween.XX(各种参数).循环(参数).等待(参数).变化(参数).事件响应(响应函数)…;

unity属性.DO动作(各种参数).循环(参数).等待(参数).变化(参数).事件响应(响应函数)…;

通用方法

DOTween.开头的官方叫通用方法,其中最常用的就是DOTween.To(getter, setter, to, float duration)。绝大多数动画都可以用这个方法解决。前2个输入的是代理。无论是控制移动,旋转,颜色变化,文字变化都可以用这个方法。getter是初始值,setter是变化的值,to是目标,duration是变化时长。

DOTween.To(()=> myVector, x=> myVector = x, new Vector3(3,4,8), 1);
DOTween.To(()=> 0, x=> myFloat = x, 50, 5);

通用方法除了To,还有其他的,如下图。
Unity常用动画插件DOTween快速上手_第4张图片

便捷方法

便捷方法是 Unity的各种属性.DOXXX,简单说就是能少打几个字。例如让当前游戏对象移动到某个位置的DOMove。

transform.DOMove(Vector3.right * 3, 2);

不同属性后面可以DO出不同的动作,而且参数不同。一般常见的动画变化都有,推荐看一下官方文档有个大概印象,使用的时候,遇到对应属性的动画的时候,DO出来再靠代码提示来选择就好。
Unity常用动画插件DOTween快速上手_第5张图片

  • transform.DOPath可以设置一个路径,让游戏对象在路径上移动。之前免费的路径编辑器没有了,可以用LineRenderer的编辑来代替。
  • text.DOText可以让文本框里面的文字逐字显示,NPC对话内容常用到。但是,不支持Text Mesh Pro。所以推荐使用DOTween.To来代替。
  • 便捷方式似乎在Mac电脑上有点小问题。

添加设置

主要的语句完了以后,可以通过点,点出更多的设置跟在后面,如常见的循环。

transform.DOMove(Vector3.right * 8, 2).SetLoops(3, LoopType.Yoyo);

Unity常用动画插件DOTween快速上手_第6张图片

事件响应

对于动画的事件响应也是点出来跟在后面的。

transform.DOMove(Vector3.right * 8, 2).OnComplete(OnEnd);

Unity常用动画插件DOTween快速上手_第7张图片

序列和参数

序列是让一系列的动画顺序执行,参数的话是可以把具体的设置,例如循环,等待,变化啥的变成一个统一的参数,在不同的动画中统一调用。
Unity常用动画插件DOTween快速上手_第8张图片

控制

DOTween也提供了多种方法控制动画的播放,暂停等。
Unity常用动画插件DOTween快速上手_第9张图片

协程和异步

Unity常用动画插件DOTween快速上手_第10张图片

视频说明

Unity动画插件DOTween的使用

你可能感兴趣的:(unity3d,移动平台开发,游戏引擎,unity,动画,游戏引擎)