摘要
自动寻路A*算法的时间复杂度和空间复杂度较高,且对资源消耗较大.通过在Unity3D引擎中结合Dots面向数据的技术堆栈技术,采用ECS+JOBS的工作模式,将过程多线程化,使用JobSystem+Job多线程运行逻辑,对自动寻路的A*算法进行改进,采用修改地图点密度的方法来降低计算量,性能节省非常明显.为了同时考虑性能问题和寻路表现,再次改进算法,根据寻路对象的个数来动态地改变点与点之间的间隔,并比较两种不同的方案触发寻路,选出最优方案,有效缩短寻路时间,项目可以稳定运行数千个实体角色.