本文及系列参考于Andy老师的DOTween系列
欢迎大家关注Andy老师
在Unity Asset Store上搜索DOTween下载免费版。
Pro收费版就比免费版多了可视化功能,作用并不大。
添加引用 Using DG.Tweening;
以DO开头的方法:设置动画的方法
以Set开头的方法:设置动画属性的方法
以On开头的方法:设置动画的回调函数
在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),它的参数不是目标点,而是要移动的量
Unity---DOTween学习(1)---Transform相关
原文:https://www.cnblogs.com/Fflyqaq/p/10861568.html