概要

只支持 UE 5.6(Windows)的飞行单位导航插件,用八叉树加 A 搜索、3D ORCA 避障与 Lazy Theta 平滑做三维路径规划,避障在独立工作线程异步执行,不阻塞主线程。

3D 飞行智能导航插件 Smart Flying Navigation
Smart Flying Navigation

 

Smart Flying Navigation 是一款专为 Unreal Engine 5.6(Windows 平台)打造的高性能飞行单位导航插件,旨在解决复杂 3D 空间中多飞行代理(Flying Agents)的路径规划与动态避障难题。无论是奇幻世界中的龙群、科幻战场上的无人机编队,还是开放世界中的飞鸟群落,该插件都能让它们在大型场景中高效、自然、无碰撞地抵达目标点。其核心采用 预计算八叉树(Octree)+ A 路径搜索 + 3D ORCA 避障 + Lazy Theta 路径平滑** 的技术栈,在保证行为真实感的同时,将性能开销降至最低——所有避障计算均在独立工作线程中异步执行,完全不阻塞游戏主线程。

Smart Flying Navigation 版本信息\下载方式

版本 Unreal Engine 版本支持 提供下载方式 更新日期
1
Smart Flying Navigation
【UE5.6】
百度网盘+夸克网盘 2025-10-25

 

🔹 核心技术亮点:专为“空中智能”而生

▸ 1. 高效 3D 路径规划:Octree + A*

  • 插件通过 Editor-only 的 Octree Baking 工具(基于 EditorScriptingUtilities)对静态场景进行空间体素化预处理,生成轻量级导航网格;
  • 运行时使用 A 算法在 Octree 结构中快速搜索长距离路径*,适用于千米级开放空域或复杂室内多层结构;
  • 注意:Octree 烘焙仅限编辑器使用,不可在打包游戏或运行时动态生成,但烘焙数据可随项目打包并在运行时加载。

▸ 2. 大规模多代理避障:3D ORCA 异步执行

  • 采用学术界广泛验证的 3D ORCA(Optimal Reciprocal Collision Avoidance)算法,实现飞行单位之间的相互避让与地形规避;
  • 所有避障逻辑运行在独立工作线程,即使同时控制上百个飞行单位,也能保持游戏帧率稳定;
  • 支持与静态障碍物(建筑、山脉、树木)及动态代理(其他飞行角色)的实时交互。

▸ 3. 自然流畅的飞行轨迹:Lazy Theta 路径平滑*

  • 传统 A* 生成的路径常呈“折线状”,影响飞行真实感;
  • Smart Flying Navigation 引入 Lazy Theta 算法*(基于视线检测的“拉绳”优化),自动减少路径点数量,生成更短、更平滑、更符合视觉直觉的曲线轨迹,显著提升飞行行为的自然度。

🔹 开发者友好性与架构设计

  • 模块化代码结构:
    • SmartFlyingNavigation(运行时模块):包含路径查找、避障、飞行控制核心逻辑;
    • SmartFlyingNavigationEditor(编辑器模块):提供 Octree 烘焙、导航数据可视化、调试工具;
  • 轻量级集成:仅含 3 个 Blueprint 节点 + 15+ 个 C++ 类,无冗余依赖;
  • 100% 支持打包游戏:尽管烘焙工具仅限编辑器,但运行时系统完全兼容 Windows 打包版本;
  • 当前限制:
    • 仅支持 Windows 平台(开发与目标平台);
    • 不支持网络复制(适用于单机或本地模拟场景);
    • 不适用于非飞行单位(专为空中代理设计)。

🔹 适用场景

  • 开放世界 RPG 中的飞行坐骑或敌对生物
  • 科幻 FPS/TPS 中的无人机群、浮游炮、侦察机
  • 模拟类游戏中的鸟群、昆虫群行为系统
  • 影视预演或虚拟制片中的空中镜头路径规划

相关资源:FirebaseGoodies-Unreal Engine应用集成Firebase的全面解决方案 · Vertex Animation Manager-Unreal Engine的顶点动画纹理生成器 · EasyRain:虚幻引擎轻松创建逼真下雨特效蓝图系统插件

常见问题

支持哪些 UE 版本?

版本表标【UE5.6】,正文写专为 Unreal Engine 5.6、Windows 平台打造,没有其他版本记录。

需要额外装什么?

编辑器内的八叉树烘焙工具基于 EditorScriptingUtilities,这是它的依赖项。运行时不额外依赖插件,读取的是提前烘焙好的数据。

八叉树能在运行时生成吗?

不能。原文明确 Octree 烘焙仅限编辑器使用,不能在打包游戏或运行时动态生成;但烘焙数据可以随项目打包并在运行时加载。

能同时带多少飞行单位?

原文称避障逻辑跑在独立工作线程,即使同时控制上百个代理也不阻塞主线程,但未给出具体数量上限,准确数字原文未提供。

路径是直的吗?

不是。路径经过 Lazy Theta 平滑处理,配合 3D ORCA 做相互避让与地形规避,飞行单位之间会主动错开。

适合什么场景?

龙群、无人机编队、飞鸟群落这类三维空间中的多代理移动,也适用于千米级开放空域或室内多层结构。

声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。