DoTween 部分中文文档

本文介绍了DOTween动画库的基本概念,包括Tweener、Sequence和Tween等术语定义,以及如何初始化DOTween并创建Tweener。此外,还详细解释了DOTween的各种前缀和便捷操作方法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

前言

DOTween现在还处于 alpha,所以还有一些缺失的功能(如路径插件,附加回调和其它的tween选项),这个文档在不久的将来可能会改变。

一、术语

Tweener 一个tween控制value和animates

Sequence 一个特殊的tween,并不是控制value,和其它的tween一起成为一个动画组

Tween 一个普通词,既可以表示  Tweener 也可以表示 序列

Nested tween 一个tween,包含序列

前缀

前缀在智能感知里是非常重要的,所以尽可能要记住这些:

DO  前缀是所有的tween的快捷方式(可以直接操作已知 object,比如transform或material),也是DOTween 类主要的前缀

transform.DOMoveX(100, 1);
transform.DORestart();
DOTween.Play();

Set   前缀,所有的tween设置

myTween.SetLoops(4, LoopType.Yoyo).SetSpeedBased();

On   前缀, 所有的tween回调

myTween.OnStart(myStartFunction).OnComplete(myCompleteFunction);

二、DOTween.Init

当你第一次创建 tween,DOTween将会使用默认值自动初始化。

如果你喜欢自己初始化(推荐),在创建任何tween之前(创建之后将不会有任何效果),调用这些方法一次。

想想看,你可以使用DOTween的 global settting 改变所有的初始化设置。

或者,你可以 通过链 SetCapacity 初始化方法,它可以设置 Tweeners最大值/FPS的初始容量(在高版本中可以调用 )

static DOTween.Init(bool recycleAllByDefault = false, bool useSafeMode = true, LogBehaviour logBehaviour = default)
比如:
DOTween.Init(true, true, LogBehaviour.Verbose).SetCapacity(200, 10);

三、Creating a Tweener

Tweener好似为DOTween工作的一只蚂蚁,它采用 属性/字段对给定值进行动画处理。

截止目前 DOTween可以处理这些类型的值:

float,int,uint,Vector2/3/4,Quaternion,Rect,RectOffset,string

有三种方式创建 Tweener

A.便捷方式

DOTween包括一些已知的unity object,比如 Transform,Rigidbody和Material,你可以直接对这些object进行tween(这也会自动设置对象自己为target)比如:

transform.DOMove(new Vector3(2,3,4), 1);
rigidbody.DOMove(new Vector3(2,3,4), 1);
material.DOColor(Color.green, 1);
所有这些快速方式也有From,除了特殊说明,只需在方法名称后添加From
transform.DOMoveFrom(new Vector3(2,3,4), 1);
rigidbody.DOMoveFrom(new Vector3(2,3,4), 1);
material.DOColorFrom(Color.green, 1);

Camera

DOColor(Color to, float duration)
DOShakePosition(float duration, float strength, int vibrato, float randomness)
DOShakeRotation(float duration, float strength, int vibrato, float randomness) 

Light

Material

Rigidbody

Move

SpriteRenderer

详细的文档请参考官方:

Transform

Move

DOMove(Vector3 to, float duration, bool snapping)
DOMoveX/DOMoveY/DOMoveZ(float to, float duration, bool snapping)
DOLocalMove(Vector3 to, float duration, bool snapping) DOLocalMoveX/DOLocalMoveY/DOLocalMoveZ(float to, float duration, bool snapping)

Rotate

DORotate(Vector3 to, float duration, bool useShortest360Route = true)
DOLocalRotate(Vector3 to, float duration, bool useShortest360Route = true) DOLocalAxisRotate(Vector3 to, float duration)

Scale

DOScale(Vector3 to, float duration)
DOScaleX/DOScaleY/DOScaleZ(float to, float duration)

Punch – no FROM

DOPunchPosition(Vector3 punch, float duration, int vibrato, float elasticity, bool snapping)
DOPunchRotation(Vector3 punch, float duration, int vibrato, float elasticity) DOPunchScale(Vector3 punch, float duration, int vibrato, float elasticity)

Shake – no FROM

DOShakePosition(Vector3 punch, float duration, float strength, int vibrato, float randomness, bool snapping)
DOShakeRotation(Vector3 punch, float duration, int vibrato, float elasticity) DOShakeScale(Vector3 punch, float duration, int vibrato, float elasticity)

WaitFor coroutines

WaitForCompletion()
WaitForElapsedLoops(int elapsedLoops)
WaitForKill()
WaitForPosition(float position)
WaitForStart()
后面的大多简单就不再一一翻译了,官方英文文档:
 

DOTween文档

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值