📜  带有dotween的chronos (1)

📅  最后修改于: 2023-12-03 15:39:24.324000             🧑  作者: Mango

带有 Dotween 的 Chronos

Chronos 是一个非常方便的 Unity 时间库,可以轻松地执行时间缩放、延迟以及人物动画的插值等操作。而 Dotween 是一个非常流行的 Tweening 库,可以让我们轻松地实现各种动画效果。通过将这两个库结合使用,我们可以实现更加出色的游戏动画效果。

获取 Chronos 和 Dotween

要使用 Chronos 和 Dotween,我们需要在 Unity Asset Store 中下载它们的包。

  • Chronos: https://assetstore.unity.com/packages/tools/animation/chronos-31225
  • Dotween: https://assetstore.unity.com/packages/tools/animation/dotween-hotween-v2-27676

安装习惯后,我们需要在代码中导入使用它们:

using Chronos;
using DG.Tweening;
创建 Chronos 时间流

在使用 Chronos 之前,我们需要创建一个 Chronos 时间流。这个时间流将控制整个游戏中的时间缩放、延迟和偏移。下面是一个简单的例子:

public class GameTimeController : MonoBehaviour {

    public Timeline timeline;

    private void Start () {

        // 创建时间流 
        timeline = GetComponent<Timeline>();

        // 开始计时 
        timeline.Resume();
    }
}

我们可以在 hierarchy 视图中拖拽 Chronos/Timeline 组件到游戏物体中,并且使用 GetComponent() 方法来获取它。

使用 Dotween

现在我们已经拥有了时间流,我们可以来使用 Dotween 来实现一些动画效果。下面是一个简单的例子,这个例子将会让一个方形朝着一个随机的方向走:

using Chronos;
using DG.Tweening;
using UnityEngine;

public class MoveSquare : MonoBehaviour {

    public Timeline timeline;

    private Vector3 m_targetPosition;

    private void Start () {

        timeline = GetComponent<Timeline>();

        transform.DOMove(m_targetPosition, 1f)
            .SetDelay(timeline.deltaTime)
            .SetEase(Ease.OutBack)
            .SetRelative(true);
    }
}

我们使用 transform.DOMove() 方法来让方形移动。其中,我们使用 timeline.deltaTime 来作为延迟,这样我们就可以让这个动画与游戏时间同步。

结论

这篇文章详细介绍了如何将 Chronos 和 Dotween 结合使用来实现更高级的游戏动画效果。我们可以通过这些技术来创造出更加出色的人物动画、UI 动画以及场景动画。