Simple Waypoint System(SWS)是基于Dotween的一款路径动画插件,Dotween想必大家比较熟悉,是一款很好用的动画插件,SWS在Dotween的基础上实现了可编辑路径,并且支持自动检测2D和3D模式。

unity 绘制路径 unity路径点_dotween

导入插件后我们可以在Project视图中看到一个SWS文件夹,其中有个Examples文件夹详细介绍了各种路径动画的例子,这里会介绍一下这款插件的简单使用方法。

unity 绘制路径 unity路径点_dotween_02

选择Window->Simple Waypoint System->Waypoint Manager,场景中会自动生成一个用于创建Path的物体Waypoint Manager:

unity 绘制路径 unity路径点_sws_03

在Inspector中我们可以看到由于3D Mode Detected,如果我们选择了2D模式,就会显示2D Mode Detected。3D模式下,我们需要Collider来接收我们的点击操作从而生成路径点,2D模式则不需要。

  • Enter Path Name:输入的路径名称。
  • Select Path Type:路径的类型,Standard为标准曲线,Bezier为贝塞尔曲线。

输入名字并且选择好路径类型之后,点击Start Path按钮即可开始编辑路径。需要注意的是在编辑过程中不要点选场景或者Hierarchy面板中的其他物体,不然会终止编辑并且不会保留已编辑的路径。调整好视角,移动鼠标到场景中存在Collider的点的位置(如演示动画中的plane具有Mesh Collider),然后按下p键,插件就会自动生成路径点并且连接成路径。

unity 绘制路径 unity路径点_dotween_04

路径点画好之后按下原本Start Path处的Finish Editing按钮我们的路径就自动生成好了。

unity 绘制路径 unity路径点_插件_05

  • Show Handles:显示曲线调节手柄
  • Connect Handles:连接手柄(不勾选即AnimationCurve编辑中的broken状态)
  • Draw Smooth Lines:曲线是否圆滑
  • Color1,Color2,Color2:场景编辑时显示的路径的辅助色
  • Path Length:路径长度
  • Path Detail:数值越大每段路径的子段越多
  • Show Detail Settings:显示每段路径的Path Detail并分别设置
  • Waypoints:当前选择的路径点,可以添加删除修改
  • Rename WayPoints:重命名路径点(即将物体名字按Waypoint+序号来命名)
  • Skip Custom:重命名时是否忽略名字中包含Custom的物体
  • Place to Ground:检测路径下方的Collider,并将路径置于下方所有Collier中最高点处
  • Invert Direction:倒置路径
  • Replace Waypoints with Object:将路径点替换为选择的物体

之后在Hierarchy面板中选择生成好的路径(默认在Waypoint Manager物体下),我们在可以对每个点进行编辑从而改变路径。

unity 绘制路径 unity路径点_dotween_06

编辑好之后在需要运动的物体上加一个splineMove脚本,并设置脚本值:

unity 绘制路径 unity路径点_sws_07

  • Path Container:路径曲线
  • On Start:自动运行
  • Move To Path:移动到路径起点
  • Reverse:倒置
  • Local:本地路径
  • Start Point:设置起始点位置(路径中的第几个点)
  • Size To Add:在Y轴方向添加额外的位移
  • Speed:速度
  • Time Value:计时方式,Speed为按速度来计算,Time为按时间来计算,选择Time时上面的Speed选项为走完路径需要的时间
  • Loop Type:循环方式
  • Path Type:路径类型
  • Path Mode:路径模式
  • Look Ahead:转向时的偏移量
  • Lock Rotation:锁定对应方向的旋转
  • Lock Position:锁定对应方向的位移
  • Settings:设置物体运动到每个点时的回调

勾上OnStart或者在适当的时候调用splineMove的StartMove函数,物体就可以运动了:

unity 绘制路径 unity路径点_插件_08