DoTween

博客给出了DOTween插件的使用示例,包含公用方法,可实现值的渐变,还能设置最大容量和动画帧数。同时展示了动画序列的创建,如让物体在一定时间内进行X轴移动和缩放等操作。

官方链接

using GD.Tween;

//公用的方法:valueBase为公共变量,valueTo为插入的值,changeTime为渐变过程所需要的时间,Fun为值发生改变时调用的方法,也可以写成lamuda表达式()=>{//执行的代码;}

 DOTween.To(() => valueBase, x => valueBase= x, valueTo, changeTime).OnUpdate(Fun); //设置DOTween的最大容量和动画帧数

DOTween.SetTweensCapacity(tweenersCapacity, sequencesCapacity);

//动画播放执行完毕之后执行下一个动画

        Sequence mySequence = DOTween.Sequence();

//自身X轴移动到45,在一秒内 mySequence.Append(transform.DOMoveX(45,1)).SetEase(Ease.OutBack));

//X移动到45之后,(上句动画都执行完毕后)自身缩放到vector3(2,2,2),在0.5秒内 mySequence.Append(transform.DOScale(new Vector3(2f, 2f, 2f), 0.5f));

06-22
### Dotween Unity Tweening Engine 文档和使用示例 Dotween 是一个功能强大且易于使用的 Unity 动画库,用于创建平滑的动画效果。以下是一些关键功能和用法示例: #### 1. 创建和应用 Tween 设置 可以使用 `SetAs()` 方法将一个 Tween 的设置复制到另一个 Tween 中[^1]。例如: ```csharp // 创建一个带有特定设置的 Tween 并存储为 Tween 对象 Tween myTween = transform.DOMove(new Vector3(2, 2, 2), 2) .SetEase(Ease.OutQuint) .SetLoops(4) .OnComplete(myFunction); // 创建另一个 Tween,并应用上一个 Tween 的相同设置 material.DOColor(Color.red, 2).SetAs(myTween); ``` #### 2. 使用 AnimationReferenceAsset 如果需要在项目中引用动画资源,可以结合 `AnimationReferenceAsset` 和 Dotween 使用[^2]。例如: ```csharp public AnimationReferenceAsset animationReferenceAsset; // 在指定轨道上设置动画并启用循环 TrackEntry entry = skeletonAnimation.AnimationState.SetAnimation(trackIndex, animationReferenceAsset, true); ``` #### 3. 设置 Tween 不受 Time.timeScale 影响 通过 `SetUpdate(true)` 方法,可以让 Tween 忽略 Unity 的时间缩放设置[^3]。例如: ```csharp void Start() { // 让 Time.timeScale = 0 Time.timeScale = 0; Image image = transform.Find("Image").GetComponent<Image>(); // 调用 DOMove 方法让图片移动,并设置不受 Time.timeScale 影响 Tweener tweener = image.rectTransform.DOMove(Vector3.zero, 1f); tweener.SetUpdate(true); // 忽略 Time.timeScale tweener.SetEase(Ease.Linear); // 设置线性移动类型 } ``` #### 4. 撤消 Tween 可以通过 `Rewind()` 方法撤消 Tween 动画[^4]。例如: ```csharp // 撤消所有 Tween DOTween.Rewind(); // 根据指定 ID 撤消 Tween DOTween.Rewind(myId); // 撤消引用的 Tween myTween.Rewind(); // 撤消与特定 Transform 相关的所有 Tween transform.DORewind(); ``` #### 5. 全局或特定设置 Dotween 提供了多种全局或特定的设置选项,可以根据需求调整动画行为[^4]。 --- ### 示例代码总结 以下是一个综合示例,展示如何使用 Dotween 创建和管理 Tween 动画: ```csharp using UnityEngine; using DG.Tweening; public class DOTweenExample : MonoBehaviour { void Start() { // 创建一个移动动画 Tween moveTween = transform.DOMove(new Vector3(2, 2, 2), 2) .SetEase(Ease.OutQuint) .SetLoops(4) .OnComplete(() => Debug.Log("Move Completed")); // 创建一个颜色变化动画,并应用上一个 Tween 的设置 Renderer renderer = GetComponent<Renderer>(); Tween colorTween = renderer.material.DOColor(Color.red, 2).SetAs(moveTween); // 忽略 Time.timeScale moveTween.SetUpdate(true); // 撤消所有 Tween DOTween.Rewind(); } } ``` ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值