public Vector3 GetRandomMoveArea(RandomMoveArea area) { if (AgentReachedTarget()) { Vector3 randomDirection = Random.insideUnitSphere * area.radius; randomDirection += area.transform.position; NavMeshHit hit; NavMesh.SamplePosition(randomDirection, out hit, area.radius, 1); Vector3 finalPosition = hit.position; return(finalPosition); } return(agent.destination); }
public void RandomMove(RandomMoveArea area) { SetDestination(GetRandomMoveArea(area)); }