命名法
Tweener :补间,控制值并为其生成动画。
Sequence:序列,控制多个补间作为组来处理。
Tween:通用词,通用词表示补间和序列。
Nested tween:嵌套补间,序列中包含的补间。
前缀
DO:所有快速实现一些补间效果的前缀(如变换Transform)的前缀。
Set:对当前效果进行设置。
On:一系的列回调。
基本方法
DO前缀
Transform
Move
transform.DOMove(new Vector3(10, 0, 0), 10, false);
作用:移动到某一指定点。(世界坐标)
参数:
Vector3 to 要移动到的位置
float duration 所需要花费的时间
bool snapping 为true时平滑地将所有值变为整数。(每次移动整数值)默认为false
transform.DOMoveX()/DOMoveY()/DOMoveZ(10, 10f,false);
作用:沿着某一轴移动到指定位置。
参数:
float to 要移动到的轴的坐标
float duration 所需要花费的时间
bool snapping 为true时平滑地将所有值变为整数。(每次移动整数值)默认为false
transform.DOLocalMove(new Vector3(10,0.5f,0),10f,false);
作用:移动自身坐标到指定位置。
参数:
Vector3 to 要移动到的位置
float duration 所需要花费的时间
bool snapping 为true时平滑地将所有值变为整数。(每次移动整数值)默认为false
transform.DOLocalMoveX()/DOLocalMoveY()/DOLocalMoveZ();
作用:移动自身坐标到指定轴的指定位置。
参数:
float to 要移动到的轴的坐标
float duration 所需要花费的时间
bool snapping 为true时平滑地将所有值变为整数。(每次移动整数值)默认为false
transform.DOJump(new Vector3(10, 0, 0),10,3,10,false);
作用:实现跳跃到指定位置。
参数:
Vector3 endValue 最终要跳跃到的位置
float jumpPower 跳跃的强度,决定跳跃的高度(当前位置Y加上该值)
int numJumps 跳跃的次数
float duration 总持续时间
bool snapping 为true时平滑地将所有值变为整数。(每次移动整数值)默认为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
Rotate
transform.DORotate(Rote, 0.1f, RotateMode.Fast);
作用:旋转到指定的值(根据欧拉角)。
参数:
Vector3 to 旋转目标值
float duration 总旋转用时
RotateMode
Fast 旋转采用最短路线,切旋转不会超过360°
FastBeyond360 旋转将超过360°
WorldAxisAdd 类似于使用transform.Rotate(new Vector3(20, 0, 0),Space.World),最终值始终被视为相对值
LocalAxisAdd 类似于使用transform.Rotate(new Vector3(20, 0, 0),Space.Self),最终值始终被视为相对值
transform.DORotateQuaternion();
作用:旋转到指定的值(四元数)。
参数:
Quaternion to 要旋转到的四元数值
float duration 旋转用时
transform.DOLocalRotate();
作用:自身坐标旋转。
transform.DOLocalRotateQuaternion();
作用:自身坐标旋转。
transform.DOLookAt();
作用:旋转目标,使其朝向给定位置。
参数:
Vector3 towards 旋转目标值
float duration 旋转总用时
AxisConstraint axisConstraint 旋转最终轴约束,只旋转此轴
Vector3 up 定义向上方向的矢量
transform.DODynamicLookAt();
作用:旋转目标,使其朝向给定位置,每帧更新 lookAt 位置(与此相反,当补间开始时,只计算一次 lookAt 旋转)
参数:
Vector3 towards 旋转目标值
float duration 旋转总用时
AxisConstraint axisConstraint 旋转最终轴约束,只旋转此轴
Vector3 up 定义向上方向的矢量
Scale
DOScale();
作用:将物体放大/缩小到指定大小
参数:
float/Vector3 to 浮点数为倍数,向量为指定大小
float duration 放大/缩小总消耗时间
DOScaleX/DOScaleY/DOScaleZ();
作用:对某一轴方向进行放大缩小
float to 放大到的倍数
float duration 放大/缩小总消耗时间
Punch
DOPunchPosition();
作用:受到冲击后的回弹效果
参数:
Vector3 punch 要被击打到的最远位置(相对值,相对于局部坐标)
float duration 总持续时间
int vibrato 物体振动频率
float elasticity 值一般在0到1之间,0表示起点到冲击方向的震荡,1表示为一个完整的震荡,可能会超过起点,个人感觉后者效果更好。
bool snapping 是否进行平滑插值
DOPunchRotation()
作用:受到冲击后旋转效果
参数:
Vector3 punch 要被击打到的角度(相对值,相对于局部坐标)
float duration 总持续时间
int vibrato 物体旋转频率
float elasticity 值一般在0到1之间,0表示最初角度到最大角度的旋转,1表示为一个完整的旋转,可能会超过最远角度。
DOPunchScale()
作用:实现一个弹性效果,反复弹,最终复原。
参数
Vector3 punch 弹到的大小
float duration 总持续时间
int vibrato 物体放缩频率
float elasticity 值一般在0到1之间,0表示最初角度到目标大小的放缩,1会产生负值,出现警告。