版本: Unity 6 (6000.0)
语言English
  • C#

NavMesh

UnityEngine.AI 中的类

/

实现于:UnityEngine.AIModule

建议更改

成功!

感谢您帮助我们提高 Unity 文档的质量。虽然我们无法接受所有提交,但我们确实会阅读用户提出的每个建议更改,并在适用的情况下进行更新。

关闭

提交失败

由于某些原因,您的建议更改无法提交。请<a>稍后再试</a>。感谢您抽出时间帮助我们提高 Unity 文档的质量。

关闭

取消

描述

单例类,用于访问烘焙的 NavMesh。

使用 NavMesh 类执行空间查询,例如寻路和可行走性测试。此类还允许您为特定区域类型设置寻路成本,并调整寻路和避障的全局行为。

在使用空间查询之前,必须先将 NavMesh 烘焙到您的场景中。

另请参阅
创建 NavMesh – 有关如何设置和烘焙 NavMesh 的更多信息
区域和成本 – 了解如何使用不同的区域类型。
NavMeshAgent – 了解如何控制和移动 NavMesh 代理。
NavMeshObstacle – 了解如何使用脚本控制 NavMesh 障碍物。
NavMeshLink – 了解如何使用脚本控制离网链接。

静态属性

AllAreas包含所有 NavMesh 区域的区域掩码常量。
avoidancePredictionTime描述代理为了避障而预测碰撞的未来时间长度。
onPreUpdate设置一个函数,在帧更新执行期间 NavMesh 更新之前调用。
pathfindingIterationsPerFrame异步寻路过程中每帧处理的节点最大数量。

静态方法

AddLink向 NavMesh 添加链接。链接由 NavMeshLinkData 结构体描述。
AddNavMeshData将指定的 NavMeshData 添加到游戏中。
CalculatePath计算两点之间的路径并存储生成的路径。
CalculateTriangulation计算当前导航网格的三角剖分。
CreateSettings创建并返回一个新的 NavMesh 构建设置条目,可用于运行时 NavMesh 构建。
FindClosestEdge查找 NavMesh 上某个点最近的 NavMesh 边缘。
GetAreaCost获取在区域类型几何体上进行路径查找的成本。
GetAreaFromName返回命名 NavMesh 区域类型的区域索引。
GetAreaNames获取所有 NavMesh 区域名称。
GetLinkOwner获取与链接实例关联的对象(如果有)。
GetSettingsByID返回现有的 NavMesh 构建设置条目。
GetSettingsByIndex按其排序索引返回现有的 NavMesh 构建设置条目。
GetSettingsCount返回已注册的 NavMesh 构建设置的数量。
GetSettingsNameFromID返回与匹配提供的代理类型 ID 的 NavMesh 构建设置关联的名称。
IsLinkActive确定链接实例是否可用于计算路径,以及 NavMesh 代理是否可以穿过它。
IsLinkOccupied确定 NavMesh 代理当前是否正在使用此链接。
IsLinkValid确定链接实例是否是当前用于导航的数据的一部分。
Raycast在 NavMesh 上的两点之间跟踪一条线。
RemoveAllNavMeshData从游戏中删除所有 NavMesh 表面和链接。
RemoveLink从 NavMesh 中删除链接。
RemoveNavMeshData从游戏中删除指定的 NavMeshDataInstance,使其对代理和查询不可用。
RemoveSettings删除与代理类型 ID 匹配的构建设置。
SamplePosition在指定范围内找到基于 NavMesh 的最近点。
SetAreaCost设置所有代理在区域类型几何体上查找路径的成本。
SetLinkActive激活或停用链接实例。活动链接实例可以被代理遍历并用于规划路径,但停用的链接则不能。
SetLinkOwner将对象与链接实例关联。

委托

OnNavMeshPreUpdate注册在 NavMesh 系统更新之前调用的回调方法。