AI生成3D场景导入 Unity/Unreal 后,NPC 总串层?用6步检查导航高度与跨层连接

发布时间:2026/10/7 20:35:03
AI生成3D场景导入 Unity/Unreal 后,NPC 总串层?用6步检查导航高度与跨层连接
多层悬浮平台、立体建筑或垂直迷宫导入 Unity、Unreal 后NPC 能找到路径不代表它走在正确楼层。常见异常包括NPC 停在上层目标的正下方原地打转、从平台边缘直接落到下层或者电梯已经离开NPC 仍沿着旧路线前进。这些现象分别指向三类问题目标被投影到了错误楼层、上下层导航面发生误连接以及动态连接或旧路径没有及时失效。先给结论不要一开始就扩大寻路范围或修改移动速度。应先固定一名 NPC、一个起点和三个目标以八层悬浮平台、两段楼梯、两处电梯和三个跳跃连接为测试场景按“逐层基线—代理参数—导航分层—跨层连接—目标投影—动态更新”的顺序排查。核心判断是俯视图中的平台重叠不等于导航数据连通视觉上距离很近也不等于存在合法通路。每层的可行走面、代理尺寸、跨层连接、目标投影和动态回收都需要单独验证。图注上下叠放的平台适合说明垂直导航与跨层连接但可行走面、楼梯、电梯和跳跃链接仍需运行验证。一、为每层建立独立基线与楼层编号问题一上来测试跨层无法判断错误出在哪一层八层平台同时开启时NPC 走错楼层可能是目标投影错误也可能是导航面被意外合并还可能是楼梯、电梯或跳跃连接方向配置错误。若日志中只有世界坐标调试时很难快速判断 NPC 实际处于哪一层。原因世界高度不能稳定代表业务楼层导航系统通常根据空间位置生成可行走区域但任务和关卡逻辑还需要明确“对象属于哪一层”。只用 Y 轴或 Z 轴高度区间推断楼层并不可靠平台可能倾斜、上下移动也可能在流式加载后改变局部坐标。两个平台高度接近时目标还可能被投影到相邻楼层。怎么检查给八层平台分别设置floor_01至floor_08同时保存楼层的世界高度范围对应的导航区域可行走边界可用的跨层连接当前加载和可用状态。测试时先关闭所有跨层连接只保留单层起点和目标。逐层记录 NPC 的当前位置、目标楼层、目标投影位置和最终到达结果。通过标准是每一层都能从本层起点走到本层目标NPC 不穿出边界也不会把目标投影到其他层。单层测试还不稳定时不要继续调整跨层路线否则多个问题会叠在一起。二、统一 Agent 高度、半径、坡度与台阶参数导航代理可以理解为 NPC 在场景中占用的空间模型。它的高度、半径、最大坡度和最大台阶高度决定哪些区域能够被判定为可通行。问题上下平台视觉上分开导航却互相影响当两层平台的净空小于代理所需高度时导航数据可能无法稳定区分上下表面。楼梯坡度过大或台阶高度超出代理能力时楼梯中间还会出现断点。NPC 可能停在入口也可能寻找一条错误的下落路线。怎么检查用小、中、大三组 Agent 参数做对照记录代理高度与半径最大可行走坡度最大可跨越台阶高度平台之间的最小净高楼梯宽度、坡度与单级高度。以项目实际 NPC 的参数作为基线另外两组只用于确认问题是否由代理尺寸引起。如果只有小代理能够通过某段楼梯不要为了这一处路线全局缩小半径。这样可能让 NPC 穿过原本应该阻挡它的缝隙还会改变转弯和局部避障结果。更可靠的处理方式是调整楼梯几何、平台净空或局部导航配置然后重新完成八层测试。三、从侧视图检查上下层导航面是否被错误合并问题俯视图重叠的平台被当成同一片导航区域悬浮平台在俯视图中经常互相遮挡。若装饰地板、平台底面、碰撞代理和平台顶面同时参与导航生成就可能出现导航面重叠、穿透或错误连接。NPC 画面上像是站在上层实际查询到的却可能是下层导航多边形。原因可见几何不等于可行走几何导航系统真正使用的是参与生成的几何与区域标记不是玩家看到的完整模型。平台底面、装饰板、悬挂道具甚至隐藏碰撞体都可能被误判为可行走表面。怎么检查切换到侧视图显示导航体素或导航多边形逐层确认上层顶面属于哪个floor_id下层顶面是否保持独立平台底面是否被错误标记为可行走不同楼层是否因水平投影重叠而意外连通装饰网格和隐藏碰撞是否参与了导航生成。必要时使用独立导航区域、楼层标签或不同的生成范围隔离各层。通过标准是同一楼层内部连续没有明确连接时上下楼层不能仅因距离接近而自动连通。如果侧视图已经出现导航面穿层应先修复生成输入与区域范围再分析 NPC 的路径选择。四、楼梯、电梯与跳跃必须使用明确连接问题NPC 走到电梯边后停住或者直接从平台边缘掉到下层楼梯、电梯和跳跃连接的工作方式不同。楼梯通常可以由连续导航面表示电梯与跳跃则需要显式连接并明确起点、终点、方向、代价和可用条件。场景里放置了一部电梯不等于导航系统自动知道该怎样搭乘。怎么检查为每条跨层连接分配唯一的link_id至少记录link_id | from_floor | to_floor | direction | cost | enabled | reason两段楼梯重点检查入口、出口和中间导航是否连续两处电梯需要检查停靠层、轿厢位置、门状态与乘坐时机三个跳跃连接则要核对起跳点、落点、允许使用的代理类型和单向或双向规则。以下情况发生时相关连接应立即变为不可用电梯离开当前停靠层电梯门尚未打开伸缩平台或桥梁已经收回目标楼层尚未加载完成起跳点或落点被动态障碍占用。每次启用、禁用和移动都应留下日志。这样才能区分“连接状态错误”与“旧路径没有更新”避免 NPC 仅凭视觉距离直接跨过空气。五、目标点先绑定楼层再投影到导航面问题NPC 停在目标正下方路径查询却显示成功同一个水平坐标可能对应多个楼层。点击目标、任务系统或脚本如果只提供世界坐标导航系统可能把目标投影到距离最近的下层。此时路径查询在数据上成功NPC 到达的却不是任务要求的楼层。原因最近的导航面不一定是正确导航面目标投影是把世界坐标匹配到可行走导航面的过程。搜索高度和半径设置过大时查询会优先选择空间上最近的多边形而不是语义上正确的楼层。平台重叠越多、层间距越小这类错误越容易发生。怎么检查任务目标应同时保存世界坐标和目标floor_id。投影时限制允许搜索的楼层垂直搜索范围水平搜索半径可接受的导航区域类型可用的跨层连接状态。日志至少记录原始目标坐标、目标楼层、投影后坐标、选中的导航多边形和投影结果。如果目标无法落在指定楼层应明确返回“目标不可投影”或“目标楼层不可达”由任务系统重新选点或提示失败。不要静默投影到邻层否则表面上路径成功实际行为却无法解释。六、动态更新、流式加载与目标设备复测问题电梯离开后仍能寻路楼层卸载后 NPC 继续引用旧路线多层场景经常包含移动电梯、伸缩桥梁和流式加载区域。连接状态改变、几何移动或楼层卸载后原来的路径可能已经失效。如果旧连接、旧导航多边形或缓存路径没有及时清理NPC 就会继续执行一条已经不存在的路线。怎么检查分别测试以下状态变化电梯离站、移动、到站、开门和关门桥梁收回、伸出和停止楼层加载、导航就绪、卸载和再次加载NPC 查询前、行走中和即将到达时发生环境变化。每次变化都要确认旧连接何时注销、新连接何时可用、已有路径何时失效、NPC 是否触发重新寻路。如果区域已经卸载应清除 NPC 对旧导航多边形和旧路径的引用新区域尚未就绪时不应提前发起跨层查询。导航逻辑正确后再测试性能。固定同一组起点与三个目标分别比较 1、10、30 个 NPC 的路径查询耗时、CPU 帧时间、失败次数和导航更新耗时。最终还要在目标设备与正式构建中复测不能只依据编辑器表现判断。七、用三轮测试完成验收第一轮逐层寻路关闭所有跨层连接分别测试八层平台的本层起点到本层目标。记录 NPC 是否到达指定floor_id、是否经过错误区域以及目标投影是否落在当前楼层。这一轮用于确认每层基础导航不测试楼梯、电梯和跳跃。第二轮合法跨层依次测试两段楼梯、两处电梯和三个跳跃连接检查每条连接的方向、代价、启用条件和目标楼层。重点观察NPC 是否从上层直接掉落是否能在电梯门口等待是否把跳跃连接误当作普通地面以及单向连接能否被反向使用。第三轮动态变化在 NPC 已经获得路径、正在行走和即将抵达三个阶段分别移动电梯、收回桥梁、卸载楼层并重新加载。确认旧路径是否失效、是否触发重算以及失败原因能否被日志解释。建议交付表至少包含以下字段agent_id | current_floor | target_floor | projected_position link_id | path_status | rebuild_time | final_result测试失败时应同时保留异常截图、侧视导航图、目标投影结果和连接状态不能只记录一句“寻路失败”。在整理悬浮平台层级、碰撞和区域边界时可以使用世界模型或场景编辑流程辅助组织空间结构。但场景生成不能替代导航网格生成、动态连接更新和目标设备性能测试。资产与空间组织是一层运行时可行走数据与路径状态是另一层两者必须分别验收。八、可直接复用的检查清单八层平台是否都有独立的floor_id、高度范围和边界是否先完成逐层测试再开始跨层测试Agent 高度、半径、最大坡度和台阶参数是否统一记录是否从侧视图确认上下层导航面没有意外合并两段楼梯、两处电梯和三个跳跃连接是否都有唯一link_id每条连接是否记录起点楼层、终点楼层、方向、代价和启用状态目标是否先绑定floor_id再限制投影高度和搜索范围投影失败时是否明确报错而不是静默选择相邻楼层电梯、桥梁和楼层状态变化后旧连接与旧路径是否及时清理是否比较 1、10、30 个 NPC 在目标设备上的查询耗时和失败数交付记录是否包含代理、楼层、目标投影、连接、更新耗时和最终结果路径成功不等于楼层正确多层悬浮平台的导航问题不能只看 NPC 是否找到一条路径。正确验收还要回答六个问题NPC 当前在哪一层代理尺寸是否适配导航面有没有串层跨层连接是否明确目标是否投影到正确楼层以及动态变化后旧数据是否已经回收。按“逐层基线—代理参数—导航分层—跨层连接—目标投影—动态更新”的顺序检查通常比反复扩大搜索范围、修改移动速度或重新烘焙整张导航网格更容易定位根因。AI 生成的 3D 场景适合快速搭建平台形态、空间层次和视觉草稿但正确碰撞、可编辑导航输入、稳定的动态连接以及 Unity、Unreal 和目标设备上的运行结果仍需要人工整理与实测。你的 NPC 更常停在目标正下方、直接从上层掉下去还是电梯离开后仍把旧路线当成可用