Version: 2021.3
Experimental: this API is experimental and might be changed or removed in the future.

NavMeshQuery.MoveLocation

切换到手册
public Experimental.AI.NavMeshLocation MoveLocation (Experimental.AI.NavMeshLocation location, Vector3 target, int areaMask);

参数

location 要在导航网格表面上移动的位置。
target 您需要将代理移动到的世界位置。
areaMask 位掩码,在与可遍历区域对应的索引处,值设置为 1,对于不应遍历的区域,值设置为 0。此参数可以忽略,在这种情况下,默认为 NavMesh.AllAreas。另请参阅:Areas and Costs

返回

NavMeshLocation NavMesh 上的新位置,与指定 target 位置尽可能接近。
当起点位于 areaMask 不允许的区域内时,返回起点 /location/。

描述

将导航网格位置移动到另一个位置,且不会与表面失去接触。

返回导航网格上最接近 target 位置的位置,并且通过允许的区域类型在导航网格表面建立持续连接,一直到 location 参数指定的起始位置。如果 target 位置位于表面边缘或其允许的区域之外,则返回位于边缘上的位置。

此移动不会跨越 NavMeshLinksOff-mesh Links

如果 NavMeshQuery 初始化中的 pathNodePoolSize 值不足以容纳需要遍历的所有节点以便在 location.positiontarget 之间找到连接,则结果可能不准确(最接近)。

另请参阅:NavMeshQuery.MoveLocationsNavMeshQuery.MoveLocationsInSameAreas