Unity DOTween 动画特效大全【动图】

笔记 创建于: , 更新于: | Unity

介绍

DOTween 是一款为 Unity 引擎开发的高效、轻量级的动画引擎(Tween Engine)。它允许开发者通过编写简洁的 C# 代码,以流畅的链式语法来制作和控制各种动画效果。由于上手简单且功能强大,它是 Unity 开发中最受欢迎的第三方插件之一。

核心功能与语法

DOTween 的核心是“补间”技术,即自动计算物体从一个状态(如位置、大小、颜色)过渡到另一个状态所需的中间帧。 你只需要一行代码就能实现复杂的动画。例如,让一个物体在1秒内移动到目标位置,并设置缓动效果和完成后的回调函数:

1
2
3
4
// 让物体在1秒内移动到 (1,1,1),使用“先慢后快”的缓动,完成后在控制台打印信息
transform.DOMove(new Vector3(1, 1, 1), 1f)
    .SetEase(Ease.InOutQuad)
    .OnComplete(() => Debug.Log("动画完成"));

DOTween 可以动画化几乎所有常见的属性:

类别示例代码作用
移动/旋转/缩放transform.DOMove(targetPos, 1f);改变物体的空间属性
颜色/透明度GetComponent().DOColor(Color.red, 2f);改变UI或材质的颜色
震动效果transform.DOShakePosition(1f);让物体产生抖动,常用于受击反馈
文字动画GetComponent().DOText(“新文本”, 2f);模拟打字机效果,逐字显示文本

可以轻松创建需要按顺序或同时播放多个动画的复杂动效

1
2
3
4
5
6
// 创建一个序列:先放大,再同时移动和缩小,最后旋转
DOTween.Sequence()
    .Append(transform.DOScale(1.5f, 0.5f))           // 1. 放大
    .Append(transform.DOMoveX(5f, 1f))               // 2. 移动到X=5
    .Join(transform.DOScale(1f, 0.5f))              //    同时将大小缩放回原样
    .Append(transform.DORotate(new Vector3(0, 360, 0), 1f)); // 3. 旋转

下面是所有动画的效果图

总表

总表

INTERNAL_Zero

INTERNAL_Zero

InOutFlash

InOutFlash

OutFlash

OutFlash

InFlash

InFlash

Flash

Flash

InOutBounce

InOutBounce

OutBounce

OutBounce

InBounce

InBounce

InOutBack

InOutBack

OutBack

OutBack

InBack

InBack

InOutElastic

InOutElastic

OutElastic

OutElastic

InElastic

InElastic

InOutCirc

InOutCirc

OutCirc

OutCirc

InCirc

InCirc

InOutExpo

InOutExpo

OutExpo

OutExpo

InExpo

InExpo

InOutQuint

InOutQuint

OutQuint

OutQuint

InQuint

InQuint

InOutQuart

InOutQuart

OutQuart

OutQuart

InQuart

InQuart

InOutCubic

InOutCubic

OutCubic

OutCubic

InCubic

InCubic

InOutQuad

InOutQuad

OutQuad

OutQuad

InQuad

InQuad

InOutSine

InOutSine

OutSine

OutSine

InSine

InSine

Linear

Linear

Unset

Unset

笔记标签:

评论 ( 如有任何问题,请在下方留言和讨论 )