版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/qq_33574890/article/details/82470454
- unity中动画分为两类
- 在3dmax之类的软件中制作的动画
- 在unity环境中通过代码控制Transform的组件实现的动画
- 通过代码控制的动画需求量也是很大的
- DoTween 是一个现成的功能类,已经封装了大量的动画效果只需要调用它的方法,传递参数就可以实现很多代码动画效果
导入与设置
- 直接导入资源包
- 在Tools——Demigiant——DoTween Utility Panel 进行插件设置
- 资源目录结构
- Demigiant 插件的根目录【该插件的公司名】
- Demilib 插件核心类库
- DOTween 插件基础版本资源
- DOTweenPro 插件专业版资源
- DOTweenPro Examples 实例工程
- Demigiant 插件的根目录【该插件的公司名】
组件
- 在component组件栏里面有DoTween Animation 基础动画
- DoTween Path 路径动画
- 两个动画组件
使用DoTween
- 在代码中使用DoTween时,导入对应的命名空间
using DG.Tweening
- 注意DOTween 的前两个字母都是大写
- 除了功能类以外,还会在Unity本来的功能组件类中注入DoTween 的控制方法
,一般是“DOXXX”
DoTween 元素动画
- 模型动画
- 模型移动动画 DOMove方法
- 模型旋转动画 DORotate 方法
- 模型缩放动画 DOScale 方法
- UI动画
- 图片颜色动画 DOColor 方法
- 图片透明度动画 DOFade 方法
- 图片缩放动画 DOScale 方法
- 动画和哪个组件相关,就在哪个组件下面寻找以DO开头的方法
- DOTween 属性设置
- 这一组方法统一以Set开头,可在动画方法的后面,进行属性的设置,
SetLoops(设置循环次数)
- DOTween事件回调 这一组方法以On开头,可以在动画方法后面,也可以在属性方法后面,OnComplete[当执行完事件后]
两种方式
- 注入到Unity原有组件类的api方法,称为便捷方式
- DOTween 的一组独立的功能类,DoTween工具类中的静态方法,用Lambda表达式传值的方式,来实现动画控制,称之为通用方式
- DOTween.To(()=>myValue,x==>myValue=x,100,1)
- DOTween.To() DOTween插件中功能类的一个静态方法
- ()=>myValue 获取对象元素Lambda表达式
- x=>myValue=x 赋值对象元素Lambda表达式
- 100 最终的目标值
- 1动画持续时间
两个组件
- Animation组件对应于代码中的便捷方式和通用方式,一般直接用代码搞定,不会用Animation组件
- Path组件在代码中也有对应,不过Path效果一般使用组件完成
Animation组件
- Ease属性是动画曲线
- Loops循环,有三种类型,普通模式,循环悠悠球模式,累加模式
- To 指定一个Vector3,也可以指定一个Transform
- 既可以在面板绑定事件,也可以在代码里面绑定事件
.OnStart(()=>Debug.Log("start"))
开始事件,执行一次.OnPlay
动画播放事件,执行一次,先开始,再播放OnUpdate
动画更新事件,在动画播放的过程中,持续执行N次OnComplete
动画播放完成事件,执行一次
Path组件
- 游戏模型路径运动(塔防小怪行走路线,马路上的汽车运动)
- 摄像机运动动画(建筑场景漫游,游戏过场动画)
- 本质就是事先规划好一个路径,然后让游戏物体在该路径上运动
- 路径创建
- shift+Ctrl +鼠标左键单击 添加一个新的路径点
- shift+Alt +鼠标左键点击,移除一个路径点
- 鼠标左键点击,调整路径点位置
- pathType 设置路径类型为弧度或者直线
- Orientation 最常用的是ToPath 模型沿正方向移动,LookAhead 设置为0
- 在摄像机漫游中很重要,需要沿路径一直看着前方
- relative 路径相对于模型移动
- showIndexs 显示路径点的位置索引
- Waypoint 路径点集合