自动寻路是很多游戏必备的功能之一(虽然以前玩网游很多人都吐槽国产网游的自动寻路和挂机是很蠢的功能233)。这个功能可以帮助我们在各式各样的场景中实现点击屏幕就控制角色到达指定的地点。如图
NavMeshComponents是Unity官方提供的一款插件,可以用来实现我们所需要的自动寻路功能,github地址。大家下载好后,里面有很多的demo供大家学习,今天就和小伙伴们一起入门。
百看不如一试,我们先自己建个空场景,来模拟Demo1的情况。
1.首先我们要建立一个场景,里面有各式各样的路障,越帅越好。然后建立两个圆柱体伪装角色。两个角色可以设置不同的高度和宽度,场景的障碍物之间的路口也可设置不同的宽度和高度,用来模拟。
其中我设置的Player1为红色的默认圆柱体,scale(1,1,1),即半径为0.5,高度为2。Player2为绿色的圆柱体,scale(1.5,0.8,1.5),即半径0.75,高度1.6。然后其中左下角带顶的通道,高度为1.9
2.给要移动的物体添加NavMeshAgent组件,并设置相关参数。与添加ClickToMove组件
我们给Player1和2分别添加NavMeshAgent组件,并在Agent Type选项中,选择Open Agent Settings...打开设置界面。添加两个新的Agent Type分别为Player1和Player2。通俗的讲,Radius即为物