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

NavMeshAgent.velocity

建议修改

成功!

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

关闭

提交失败

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

关闭

取消

public Vector3 velocity;

描述

访问NavMeshAgent组件的当前速度,或设置速度以手动控制代理。

读取变量将返回基于人群模拟的代理的当前速度。

设置变量将覆盖模拟(包括:朝目标移动、碰撞避免和加速度控制)并命令 NavMesh 代理直接使用特定速度移动。当使用速度控制代理时,其移动仍然限制在 NavMesh 上。

直接设置速度可用于实现玩家角色,这些角色在 NavMesh 上移动并影响模拟人群的其余部分。此外,将优先级设置为高(较小的值表示优先级更高)将使其他模拟代理更渴望避免玩家控制的代理。

建议在手动控制代理时每帧设置速度,如果将控制权释放给模拟,则将速度设置为零。如果代理的速度设置为某个值然后停止更新,则模拟将从那里开始,并且代理会慢慢减速(假设没有设置目的地)。

请注意,读取速度将始终返回来自模拟的值。如果设置了该值,则效果将在下一次更新中显示。由于返回的速度来自模拟(包括避免和碰撞处理),因此它可能与您设置的速度不同。

速度以每秒距离单位(与物理相同)指定,并在全局坐标系中表示。