DOTween路径动画

DOTween路径动画

代码如下:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
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组件制作路径
//将本脚本挂载在需移动的物体上

  

  

posted @   gatran  阅读(92)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· [翻译] 为什么 Tracebit 用 C# 开发
· 腾讯ima接入deepseek-r1,借用别人脑子用用成真了~
· Deepseek官网太卡,教你白嫖阿里云的Deepseek-R1满血版
· DeepSeek崛起:程序员“饭碗”被抢,还是职业进化新起点?
· RFID实践——.NET IoT程序读取高频RFID卡/标签
点击右上角即可分享
微信分享提示