Dotween Path 路径动画使用方法详解

article/2025/10/24 13:43:52

Dotween对于路径动画部分的api我觉得注释的过少了,很多用法没有写清楚,这里我就对Dotween Path做一下详细说明

1、API

Dotween对于路径动画就只提供了两个方法,一个是针对于世界坐标的,一个是针对于局部坐标的,本质上没啥区别,我就以世界坐标的方法为例,进行讲解
在这里插入图片描述

参数讲解:

waypoints: 是提供路径上点的坐标,需要按顺序添加进数组
duration:路径动画的整体持续时间
pathType:路径类型(就是点于点之间路径连线的生成方式)
     它内部预定义了两种类型
      Linear:直线
      CatmullRom:曲线
pathModel: 路径模式(用于确定正确的LookAt方向)
     它内部定义了四种类型
      Ignore:忽略此参数和设置的LookAt参数
      Full3D:在3d场景下,代表物体可以看向任何方向
      TopDown2D:代表物体只能上下旋转,看向物体
      Sidescroller2D:代表物体只能左右旋转看向物体
resolution:路径分辨率,代表路径点之间的曲线由多少个点构成,也就是点越多,曲线就越圆,此参数在直线路径类型下无效
gizmoColor:在Scene视图中,生成的路径曲线的颜色

2、设置选项

1)SetOptions

在这里插入图片描述
closePath:是否是封闭路径,设为true的话,会形成闭环,最后运动回起点
lockPosition:锁定位置,参数为轴向,例如,填入AxisConstraint.X的话,横向的位移将被锁定,物体只能在其他方向上移动
lockRotation:锁定旋转,参数为轴向,和锁定位置同理,锁定的轴向不能旋转

2)SetLookAt

在这里插入图片描述
这个方法是很重要的方法,官方的API却有很多地方没有说清楚,有些需要注意的地方,提都没有提
它的后两个参数,是提供看向的轴向,一般很少更改,就不介绍了,主要介绍第一个参数

它针对于第一个参数的改变,有三种重载
  (1)Transform类型参数 lookAtTransform:也就是要看向的物体
  (2)Vector3类型参数 lookAtPosition:也就是要看向的位置
  (3)float类型的参数 lookAhead:一个向前看的参数
前两个很容易理解,就不多说了,主要说一下第三种 lookAhead

lookAhead 参数

限制
这个参数的取值范围是0到1的
首先说明,它值的变化,产生的效果
在这里插入图片描述
这个值的变化,决定了物体开始移动时的朝向

但是文档上没有提到的是,这个参数在不同数值下的效果,受到SetOptions的第一个参数closePath影响

比较通俗的解释:
(1)closePath为false (运动最后,物体的朝向移动是路径的运动方向的前方)
lookAhead = 0:目标会沿着路径看向前方
lookAhead != 0:目标会按照参数,决定开始运动时的朝向,但是运动期间会匀速转动朝向,最后朝向会转回路径前方的朝向

(2)closePath为true(开始时确定方向后就不会变化了)
lookAhead = 0:目标会沿着路径看向前方
lookAhead >0 && lookAhead <1:一直保持开始时的方向(即如上图所示)
lookAhead = 1:这个时候,SetLookAt没有效果,即物体不会改变朝向

这里所说的朝向是相对于运动路径的朝向

路过的大神给出的学术性的解释:
lookAhead 参数的意思就是 看前看的偏移量

假设整个路径normalize. 即开始点为0,结束点为1. 走到路程的一半即为0.5.

所以如果lookAhead = 0.5 时, 假设当前Transform行走进程到 0.1的位置,则会 LookAt 行走进程 0.6的位置.

如果closePath=true, 则 lookAtPercent = Mathf.Repeat(movePercent + lookAhead, 1);
否则closePath=false, 则 lookAtPercent = Mathf.Clamp01(movePercent + lookAhead);

我会在我的公众号上推送新的博文,也可以帮大家解答问题
微信公众号 Andy and Unity 搜索名称或扫描二维码
在这里插入图片描述
希望我们能共同成长,共同进步


http://chatgpt.dhexx.cn/article/wa1bOUwM.shtml

相关文章

WPF路径动画

特此声明&#xff1a;本文为CSDN博主「田野上的风筝」&#xff0c;原文地址&#xff1a;https://blog.csdn.net/weixin_43100896/article/details/87899883。感谢大佬的总结&#xff0c; 下文为转载内容。 在WPF中实现动画并不是什么困难的事&#xff0c;因为WPF提供了动画模型…

10路径动画

using System.Collections; using System.Collections.Generic; using System.Linq; using DG.Tweening; using UnityEngine;public class PathMove : MonoBehaviour {public Transform[] pointList;void Start(){//select方法,直接得到值,查询要返回的目标数据 int[] numm {…

服务器连接超时是怎么回事呢?

服务器连接超时就是在程序默认的等待时间内没有得到服务器的响应。 网络连接超时可能的原因有那些呢&#xff1f; 1、网络断开&#xff0c;不过经常显示无法连接。网络阻塞&#xff0c;导致你不能在程序默认等待时间内得到回复数据包。 2、网络不稳定&#xff0c;网络无法完整…

服务器时间修改连接超时时间,服务器设置网络连接超时时间设置

服务器设置网络连接超时时间设置 内容精选 换一换 有以下几种现象:将制作好的SD卡插入开发者板并上电后,开发者板LED1与LED2灯状态信息异常。将制作好的SD卡插入开发者板,并通过USB方式连接Ubuntu服务器,上电、开发者板启动完成后,Ubuntu服务器无虚拟网卡信息。将制作好的…

修改服务器超时时间,服务器超时时间设置

服务器超时时间设置 内容精选 换一换 在压测过程中能够提供自身性能数据的施压目标机器。管理执行机的节点。CPTS为用户的测试工程提供管理能力,事务、压测任务、测试报告的内容在同一个测试工程内共享复用,您可以为不同的测试项目创建不同的测试工程。事务是指用户自定义的操…

FinalShell连接超时解决方法

输入ipconfig查看是否自动更改了ip地址 如果ip地址有变动&#xff0c;在shell中更改 查看是否打开了vm服务 快捷键&#xff1a;win X 选择“计算机管理&#xff08;G&#xff09;” 下滑找到vm服务&#xff0c;如若关闭打开即可 查看是否打开vm网络连接 右键点击属性,勾选所示…

finalshell连接超时怎么办

错误提示&#xff1a;java.net.ConnectException: Connection timed out: connect 在Linux中输入ip addr 来查看ip地址是否还在 如果没有的话重启虚拟机&#xff0c;出现ip地址再进行ssh连接

光猫显示连接isp服务器超时,光猫链接isp服务器超时

光猫链接isp服务器超时 内容精选 换一换 若已有连接后端服务器超过请求超时时间没有请求传输后,ELB会将其断开。根据负载均衡器与后端服务器链接的协议不同,系统默认超时时间也不同,系统默认的超时时间如下。TCP协议:默认超时时间为300s。UDP协议:默认超时时间为10s。HTTP…

服务器时间修改连接超时时间设置,云服务器连接超时时间设置

云服务器连接超时时间设置 内容精选 换一换 配置高防IP服务后,网站执行某些POST请求时,长时间等待后返回504错误,执行不成功。此问题是由于请求处理时间过长,已超过高防IP服务的连接阈值,高防IP服务主动断开连接。TCP默认连接超时时间为900s。HTTP/WebSocket、HTTPS/WebSo…

putty连接服务器显示连接超时,putty连接云服务器超时连接

putty连接云服务器超时连接 内容精选 换一换 文档数据库服务提供使用数据管理服务(Data Admin Service,简称DAS)、内网和公网的连接方式。文档数据库服务默认为您开通了远程主机登录权限,推荐您使用更安全便捷的数据管理服务连接实例,具体请参见通过数据管理服务连接集群实例…

apex显示服务器连接超时,apex与服务器链接超时

apex与服务器链接超时 内容精选 换一换 使用mount命令挂载文件系统到云服务器,云服务器系统提示timed out。原因1:网络状态不稳定。原因2:网络连接异常。原因3:云服务器DNS配置错误,导致解析不到文件系统的域名,挂载失败。SFS Turbo文件系统不存在此问题。原因4:挂载的是…

光猫显示isp服务器断开,光猫连接isp服务器超时

光猫连接isp服务器超时 内容精选 换一换 在使用负载均衡服务时,确保至少有一台后端服务器在正常运行,可以接收负载均衡转发的客户端请求。如果请求的需求流量上升,用户需要向负载均衡器添加更多后端服务器处理需求。移除负载均衡器绑定的后端服务器,后端服务器将不再收到负…

网页 游戏服务器连接超时,连接游戏服务器超时怎么解决

连接游戏服务器超时怎么解决 内容精选 换一换 调用API出错后,将不会返回结果数据。调用方可根据每个API对应的错误码来定位错误原因。当调用出错时,HTTP请求返回一个4xx或5xx的HTTP状态码。返回的消息体中是具体的错误代码及错误信息。在调用方找不到错误原因时,可以联系客服…

【uniapp/hBuilder】使用部分插件(如uni-file-picker)后出现连接服务器超时的解决方法

在uniapp项目中&#xff0c;导入uni-file-picker等一些组件可能会使相关页面变成&#xff08;但是其他页面正常运行&#xff09;&#xff1a; 这是由于该组件需要你绑定uniapp的服务空间运行。&#xff08;当然也可以不绑定&#xff0c;你可以选择手动上传的方式&#xff09;…

uni-app 编译成H5页面运行,提示“连接服务器超时,请点击屏幕重试”

现象 参考文档&#xff1a; uni-app H5端 “网络不给力” 排查日记 备注&#xff1a; 不一定是网络问题&#xff0c;有可能是代码问题&#xff0c;不要被提示忽悠了&#xff0c;记得看控制台代码&#xff0c;代码报错解决了&#xff0c;报错也就解决了 history 模式。跳转页…

uniapp 发布h5后报错,连接服务器超时,点击屏幕重试

更新文件到linux 也更新不上去 解决方法&#xff1a; 文件目录层级太深了&#xff0c;直接把项目文件放到D盘

金蝶显示服务器连接超时,金蝶连接云服务器超时

金蝶连接云服务器超时 内容精选 换一换 当云服务器网络异常、防火墙未放行本地远程桌面端口、云服务器CPU负载过高等场景均可能导致云服务器无法正常登录。当您的云服务器无法远程登录时,我们建议您首先检查是否可以通过控制台远程登录。再参考排查思路检查登录异常的原因。远…

ios系统连接服务器超时时间,正则零宽导致iOS端uni-app报错:连接服务器超时,点击重试...

一个 H5 项目中使用安卓设备一切正常,用 iOS 就显示 连接服务器超时,点击屏幕重试。 排查了半天,原来是正则引起的。 可能会报以下错误: Invalid regular expression: invalid group specifier name [system] SyntaxError{} Info Warn Error SyntaxError: Invalid regular …

vmware虚拟机连接服务器超时,vmware连接远程服务器超时

vmware连接远程服务器超时 内容精选 换一换 已成功添加Guardian。如果Guardian处于在线状态,只允许修改Guardian名称。如果Guardian处于连接超时状态,可以输入登录远程服务器的用户名和密码重新部署Guardian。如果Guardian处于在线状态,只允许修改Guardian名称。如果Guardia…

监控显示服务器超时,监控连接服务器超时怎么解决

监控连接服务器超时怎么解决 内容精选 换一换 本文提供了分布式数据库中间件DDM产品介绍,快速入门、API接口的新特性的快速入口。 您在了解云手机的优势和应用场景后,如果想体验云手机的功能,或者需要部署真实的业务,建议您参考本节操作购买云手机。操作流程如图1所示。准备…