今天工作碰到一个实现NPC巡逻的功能需求,需要程序实现相关逻辑,并且能够让策划自由配置NPC巡逻路径和NPC交互功能。
这里我就想记录一下我利用Unity的Handles画线的功能实现路径可视化的一种方式吧。可能设计不是很好,欢迎各位大佬提出自己的建议。总之下面来看下这个拓展Unity编辑器功能的自制画线组件吧。先上个效果图:
我的设计是这样的:
Npcs下面存放NPC模型,NPC具体的操作这块,就先不在这边说了。
PointList下面存放地图上NPC巡逻的转折点。可以是地图上的一些岔路口,这样可以明确的告知Unity的Nav寻路AI在某个个路口向下一个路口移动,而不是完全依托Nav本身的功能来实现寻路,这样会有更高的路径确定性。
Paths下面存放策划配置的路径,这边也是需要我所用到的Handles画线工具的地方。可以看到我定义的这个组件非常简单只有三个变量空间:
- bool isShowLine=true;//表示是否需要显示线段
- Color lineColor;//自定义线条显示颜色
- List<Transform