if (agent.remainingDistance < 0.5f) { Vector3 randomDirection = Random.insideUnitSphere * roamRange; randomDirection += transform.position; NavMeshHit hit; NavMesh.SamplePosition(randomDirection, out hit, roamRange, 1); Vector3 finalPosition = hit.position; agent.SetDestination(finalPosition); }是什么意思
时间: 2024-01-13 07:02:15 浏览: 83
unity 随机数random 工具
4星 · 用户满意度95%
这段代码是一个移动AI的逻辑,主要实现的功能是在一定范围内随机漫步,如果AI与目标的距离小于0.5f,则随机生成一个目标点,然后移动到该目标点。其中,Random.insideUnitSphere * roamRange 用于随机生成一个在一定范围内的向量,NavMesh.SamplePosition 用于将该向量转化为一个在可行走区域内的点,最终使用 agent.SetDestination 将AI移动到该点。
阅读全文