
Unity导航网格增强系统 实现动态避障和智能寻路
CustomNavMesh是一个基于Unity导航系统的扩展解决方案,使AI代理能在寻路时动态避开静止的其他代理。通过切换NavMeshAgent和NavMeshObstacle组件,实现了更灵活的寻路行为。系统兼容NavMeshComponents,提供自定义Surface、Obstacle和Agent组件,可替换原生组件。CustomNavMesh支持代理间的推挤交互,并根据速度和时间智能控制阻挡状态,提升了AI导航的真实感。
Alternative to Unity's NavMesh system where the agents avoid the other non-moving agents in their pathing. It uses the official navigation system, but you have to use its components instead. Compatible with NavMeshComponents.
How do the agents avoid others? Unity's NavMeshAgent only goes around NavMeshObstacles and ignores the other agents in their path. By disabling NavMeshAgent and enabling NavMeshObstacle when an agent is not moving noticeably, the agents now avoid other non-moving agents in their pathing.
| Unity's NavMeshAgent | CustomNavMeshAgent |
|---|---|
![]() | ![]() |
1. Setting the destination to the blue target's exact center position.
What if a moving agent collides against a stopped agent that's currently in obstacle mode? By default, it wouldn't be able to push it. However, by:

2. The duplicated NavMesh components. The hidden components are on the right side.
You can have agents push the other agents. For the CustomNavMesh system to work, you must use its custom components, which are identical to the original ones, making the transition seamless.
| NavMeshAgent vs NavMeshObstacle "Agents" | CustomNavMeshAgents |
|---|---|
![]() | ![]() |
3. Overlapping agents by throwing one against the others. The agents are green and the obstacles blue.
Why not just switch the agents back to NavMeshAgent instead? That wouldn't work because switching from NavMeshObstacle to NavMeshAgent isn't instant — it would take at least two frames.
What are the disadvantages? Every NavMesh component is duplicated, which makes it less performant. However, it shouldn't be noticeable in most situations.
CustomNavMesh – you can choose the hidden game objects relative position and whether or not they are rendered by accessing the class or through its singleton present in the scene.

4. Changing CustomNavMesh fields.
Clone or download this repository and open the project in Unity. Alternatively, you can copy the contents of Assets/CustomNavMesh to an existing project.
The scenes used for the GIFs are available in the Assets/Examples folder. Just hit the Space Bar in play mode to test it.
Note: This project is using the Unity 2022.3 LTS version. Tested in PC Standalone, Android, and WebGL.
Things that I might implement later:
If you need help adding this to your project or have any questions, just message me and I'll try to help. I'm also interested in any tips or suggestions you may have, cheers!


能听懂你表达的视频模型
Seedance two是基于seedance2.0的中国大模型,支持图像、视频、音频、文本四种模态输入,表达方式更丰富,生成也更可控。


国内直接访问,限时3折
输入简单文字,生成想要的图片,纳米香蕉中文站基于 Google 模型的 AI 图片生成网站,支持文字生图、图生图。官网价格限时3折活动


职场AI,就用扣子
AI办公助手,复杂任务高效处理。办公效率低?扣子空间AI助手支持播客生成、PPT制作、网页开发及报告写作,覆盖科研、商业、舆情等领域的专家Agent 7x24小时响应,生活工作无缝切换,提升50%效率!


多风格AI绘画神器
堆友平台由阿里巴巴设计团队创建,作为一款AI驱动的设计工具,专为设计师提供一站式增长服务。功能覆盖海量3D素材、AI绘画、实时渲染以及专业抠图,显著提升设计品质和效率。平台不仅提供工具,还是一个促进创意交流和个人发展的空间,界面友好,适合所有级别的设计师和创意工作者。


零代码AI应用开发平台
零代码AI应用开发平台,用户只需一句话简单描述需求,AI能自动生成小程序、APP或H5网页应用,无需编写代码。


免费创建高清无水印Sora视频
Vora是一个免费创建高清无水印Sora视频的AI工具


最适合小白的AI自动化工作流平台
无需编码,轻松生成可复用、可变现的AI自动化工作流

大模型驱动的Excel数据处理工具
基于大模型交互的表格处理系统,允许用户通过对话方式完成数据整理和可视化分析。系统采用机器学习算法解析用户指令,自动执行排序、公式计算和数据透视等操作,支持多种文件格式导入导出。数据处理响应速度保持在0.8秒以内,支持超过100万行数据的即时分析。


AI辅助编程,代码自动修复
Trae是一种自适应的集成开发环境(IDE),通过自动化和多元协作改变开发流程。利用Trae,团队能够更快速、精确地编写和部署代码,从而提高编程效率和项目交付速度。Trae具备上下文感知和代码自动完成功能,是提升开发效率的理想工具。


AI论文写作指导平台
AIWritePaper论文写作是一站式AI论文写作辅助工具,简化了选题、文献检索至论文撰写的整个过程。通过简单设定,平台可快速生成高质量论文大纲和全文,配合图表、参考文献等一应俱全,同时提供开题报告和答辩PPT等增值服务,保障数据安全,有效提升写作效率和论文质量。
最新AI工具、AI资讯
独家AI资源、AI项目落地

微信扫一扫关注公众号