1、DoTween是什么?
DoTween是一款对象动画类插件,它是一款针对Unity 3D编辑器的、快速高效的、安全的、面向对象的补间动画引擎,并且对C#语言开发做出了很多的优化。另外,它使得开发者无需通过Unity内置的Animator或Coroutines即可创建流畅、灵活的动画效果。
2、下载插件
在Asset Store中下载DoTween的插件,
下载并import完成后会在Assets/Plugins目录下Demigiant目录,
同时界面也会出现DOTween Utility Panel,
点击Setup DoTween...跳转到另一个页面,以下是DOTween的设置面板。
点击Apply后即可退出。
3、第一个Demo
首先,在场景中创建一个ball(可以使用任何图像代替ball),如下图所示:
编写代码实现ball在x轴的平移:
using UnityEngine;
using DG.Tweening;
public class GameManager : MonoBehaviour
{
public GameObject ballObj;
// Start is called before the first frame update
void Start()
{
ballObj.transform.DOMoveX(transform.position.x + 300, 2);
}
}
注意:
1)如果使用DoTween需要引入using DG.Tweening;
2)一般是在物体的transform上使用DoTween的api方法
4、接口概述
DoTween包括Tweener(补间,控制值并为其生成动画)、Sequence(序列,控制多个补间作为组来处理)、Tween(通用词表示补间和序列)、NestedTween(嵌套补间,序列中包含的补间)四种命名法。
以DO开头的方法:设置动画的方法
以Set开头的方法:设置动画属性的方法
以On开头的方法:设置动画的回调函数
5、Unity常用组件拓展方法
5.1 Transform位置拓展方法
5.1.1 Position-位移
DOMove:移动到某一指定点。(世界坐标)
DOLocalMove:移动自身坐标到指定位置。
transform.DOMove(new Vector3(10, 0, 0), 10, false);
transform.DOLocalMove(new Vector3(10,0.5f,0),10f,false);
参数:
Vector3 to 要移动到的位置
float duration 所需要花费的时间
bool snapping 为true时平滑地将所有值变为整数。
DOMoveX / DOMoveY / DOMoveZ:沿着某一轴移动到指定位置。
DOLocalMoveX / DOLocalMoveY / DOLocalMoveZ:移动自身坐标到指定轴的指定位置。
transform.DOMoveX()/DOMoveY()/DOMoveZ(10, 10f,false);
transform.DOLocalMoveX()/DOLocalMoveY()/DOLocalMoveZ(10, 10f,false);
参数:
float to 要移动到的轴的坐标
float duration 所需要花费的时间
bool snapping 为true时平滑地将所有值变为整数。
DOJump:实现跳跃到指定位置。(世界坐标)
DOLocalJump:实现跳跃到指定位置(自身坐标)。
transform.DOJump(new Vector3(10, 0, 0),10,3,10,false);
transform.DOLocalJump(new Vector3(10, 0, 0),10,3,10,false);
参数:
Vector3 endValue 最终要跳跃到的位置
float jumpPower 跳跃的强度,决定跳跃的高度(当前位置Y加上该值)
int numJumps 跳跃的次数
float duration 总持续时间
bool snapping 为true时平滑地将所有值变为整数。(每次移动整数值)默认为false
5.1.2 Rotation-旋转
DORotate:旋转到指定的值(根据欧拉角)。
DOLocalRotate:自