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号