版本:2022.3
语言英语
  • C#
实验性:此API为实验性,可能在未来被更改或删除。

NavMeshQuery.MoveLocation

建议更改

成功!

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

关闭

提交失败

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

关闭

取消

声明

public Experimental.AI.NavMeshLocation MoveLocation(Experimental.AI.NavMeshLocation location, Vector3 target, int areaMask);

参数

location 要穿越NavMesh表面的位置。
target 您希望代理移动到的世界位置。
areaMask 一个位掩码,在值设置为1的索引处对应可以穿越的区域,而对于不应该穿越的区域,值为0。此参数可以省略,在这种情况下,默认为NavMesh.AllAreas。其他资源:[区域和成本](../Manual/nav-AreasAndCosts.html)。

返回

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

描述

将NavMesh位置平移到另一个位置,而不失去与表面的接触。

返回在NavMesh上最接近target位置的位置,并且从location参数指定的起始位置开始,在该NavMesh表面上通过允许的区域类型保持连续连接。如果target位置在表面的边缘或其允许的区域内,则返回边缘上的位置。

移动不会穿越NavMeshLinksOff-mesh Links

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

其他资源:[NavMeshQuery.MoveLocations](Experimental.AI.NavMeshQuery.MoveLocations.html),[NavMeshQuery.MoveLocationsInSameAreas](Experimental.AI.NavMeshQuery.MoveLocationsInSameAreas.html)。