luzexi / Unity3DWaypointPathfinding

Unity3D waypoint pathfinding system

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Unity3DWaypointPathfinding

Unity3D waypoint pathfinding system

Welcome to my blog www.luzexi.com

使用Dotween插件做物体移动模块

路点寻路系统

路点系统有两种情况

	1,固定路线,路线确定后不会变
	
	2,路点寻路,路线随环境变化寻找不同的路线

固定路线分两种

	1,一种可以认为是路点寻路的孤岛,只有一条线的路线
	
	2,另一种为指定节点的路线,也可以称为指定路线

路点对于寻路来说的优缺点

	1,可以通过手动了解来有效定制特殊路径,通过路点使用A星寻路,得到从起点到目的地的路径

	2,路点寻路的优点是便捷,包括生成,编辑和使用,缺点是难以创建阻挡区域。

	3,也就是说可以成寻路却难以判断某点是否是有阻挡物。这个可以用其他方式避免,比如用碰撞检测避免。

路点编辑基本操作

	1,生成节点,包括接口和手动编辑
	
	2,修改节点位置,包括接口和手动编辑
	
	3,连接节点,包括接口和手动编辑
	
	4,删除节点,包括接口和手动编辑
	
	5,导出节点,包括手动和自动修复旧数据
	
	6,导入节点,包括接口和手动编辑

路点系统功能点:

	1,可任意组成节点连线

	2,可合并拆分任意组合
	
	3,编辑器和游戏分两套逻辑,编辑器中使用GameObject做节点便于操作,游戏中则无GameObject(节省效率),纯内存数据运作。
	
	4,每个节点都有阻碍力值,代表通过这个节点需要受到多少阻碍
	
	5,导入导出数据分两套,一套为序列化文件,一套为二进制文件 -- 因为有环,所以无法序列化
	
	6,移动物体的路径Catmull-Rom平滑曲线,xyz角度跟随,循环等功能。

		移动物体分两套,一套是使用节点数据移动,一套是使用场景中的GameObject为移动节点,

		两套逻辑相同,但是第一套没有GameObject节点,第二套有GameObject节点,效率差了点,但编辑方便顺手。
	
	7,TODO,基于节点与连接的A*寻路

	8,TODO,自动生成整个场景的网格节点

About

Unity3D waypoint pathfinding system


Languages

Language:C# 100.0%