Transform方法
介绍 在Unity Asset Store上搜索DOTween下载免费版。 Pro收费版就比免费版多了可视化功能,作用并不大。
添加引用
Using DG.Tweening;
- 以
DO
开头的方法:设置动画的方法 - 以
Set
开头的方法:设置动画属性的方法 - 以
On
开头的方法:设置动画的回调函数
Transform方法 在Unity中添加一个Cube,并挂载这个脚本
Position
- transform.DOMove(Vector3.one, 2); //1.要移动的目标位置,2.移动的时间s
- transform.DOMoveX(1, 2); //只控制X轴方向上的移动
- transform.DOLocalMove(); //改变局部坐标
Rotate
- transform.DORotate(new Vector3(0,90,0), 2); //旋转
- transform.DOLocalRotate();
- transform.DORotateQuaternion(new Quaternion(0.1f, 0.1f, 0.1f, 0.1f), 2); //四元数旋转
- transform.DOLookAt(Vector3.one, 2); //Z轴正方向指向目标
Scale
- transform.DOScale(Vector3.one * 2, 2); //旋转
- transform.DOScaleX(3, 2); //X轴旋转
Punch:类似弹跳功能
//参数1.punch 运动的方向和力的大小
//参数2.duration 持续时间
//参数3.vibrato 震动的次数
//参数4.elascity 0-1的数,越大往反方向运动越多
transform.DOPunchPosition(new Vector3(0, 1, 0), 2, 5, 0.5f);
transform.DOPunchRotation();
transform.DOPunchScale();
Shake:左右乱震的效果
//参数1.持续时间
//参数2.方向的力大小
//参数3.震动次数
//参数4.震动角度范围
//参数5.是否淡入淡出
transform.DOShakePosition(2, Vector3.one, 10, 90);
transform.DOShakeRotation();
transform.DOShakeScale();
Blend:混合动画
//普通情况
transform.DOMove(Vector3.one, 2);
transform.DOMove(Vector3.one*2, 2);
//第二个会覆盖第一个方法,物体运动到2,2,2
//Blend 混合
//DOBlendableMoveBy方法有两个特点
//1.允许多个同时执行
transform.DOBlendableMoveBy(new Vector3(1, 1, 1), 1);
transform.DOBlendableMoveBy(new Vector3(-1, 0, 0), 1);
//假设其实点为(0,0,0),最后动画停止时的坐标就是(0,1,1)
//2.它是增量动画
transform.DOBlendableMoveBy(new Vector3(1, 1, 1), 1);
//假设其实点为(1,1,1),最后动画停止时的坐标就是(2,2,2),它的参数不是目标点,而是要移动的量