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组件制作路径 //将本脚本挂载在需移动的物体上 |
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】博客园社区专享云产品让利特惠,阿里云新客6.5折上折
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· [翻译] 为什么 Tracebit 用 C# 开发
· 腾讯ima接入deepseek-r1,借用别人脑子用用成真了~
· Deepseek官网太卡,教你白嫖阿里云的Deepseek-R1满血版
· DeepSeek崛起:程序员“饭碗”被抢,还是职业进化新起点?
· RFID实践——.NET IoT程序读取高频RFID卡/标签