DOTween路径动画
DOTween路径动画
代码如下:
using DG.Tweening;
using DG.Tweening.Core;
using DG.Tweening.Plugins.Core.PathCore;
using DG.Tweening.Plugins.Options;
using UnityEngine;
using UnityEngine.UI;
public class DoPath : MonoBehaviour
{
    public TweenerCore<Vector3, Path, PathOptions> tweenerCore;
    public float speed;
    public Slider slider;
    void Start()
    {
        Vector3[] waypoints = new[] { new Vector3(275.3351f, 0f, -157.8602f),  new Vector3(438.2663f, 0f, 79.75027f), new Vector3(381.7242f, 0f, -45.20676f) };//路径点,可通过在DOTween Path组件上制作,复制粘贴得到
        tweenerCore = transform.DOPath(waypoints, 60, PathType.CatmullRom, PathMode.Full3D, 10).SetAutoKill(false);//设置路径,持续时间,路线模式等
        tweenerCore.SetLookAt(0);//设置看向的方向,0表示看向前方
        tweenerCore.SetDelay(2f);//设置延迟开始的时间
        tweenerCore.SetEase(Ease.Linear);//设置速度模式,Linear为匀速
        tweenerCore.SetLoops(-3);//设置循环次数,负数为无限循环
        tweenerCore.SetId(0);
        tweenerCore.SetUpdate(UpdateType.Normal);
        tweenerCore.SetAutoKill(false);
        tweenerCore.SetTarget(5);
        tweenerCore.SetSpeedBased(true);
        tweenerCore.SetOptions(true, AxisConstraint.None);//设置路线是否为闭合
        tweenerCore.Pause();//暂停动画
        slider.onValueChanged.AddListener((value) => { speed = value * 10; });
    }
    void Update()
    {
        tweenerCore.timeScale = speed;//设置路径动画速度
    }
    public void Play()
    {
        tweenerCore.Play();//开始路径动画
    }
}
//需下载DOTween插件
//通过DOTween Path组件制作路径
//将本脚本挂载在需移动的物体上
 
                    
                     
                    
                 
                    
                
 
                
            
         
         浙公网安备 33010602011771号
浙公网安备 33010602011771号