Skip to main content

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),它的参数不是目标点,而是要移动的量