AI 围绕着目标点
public void CalculatePointsAroundObject(AIBase[] agents, Transform targetTransform, float positionRadius)
{
float subAngle = 360f / agents.Length;
float currentAngle = 0;
Vector3 currentPos = targetTransform.position;
for (int i = 0; i < agents.Length; i++)
{
agents[i].destination = new Vector3(
Mathf.Sin(Mathf.Deg2Rad * currentAngle) * positionRadius + currentPos.x,
currentPos.y,
Mathf.Cos(Mathf.Deg2Rad * currentAngle) * positionRadius + currentPos.z);
currentAngle += subAngle;
}
}
public void StopAgent()
{
Agent.canMove = false;
Agent.canSearch = false;
}
public void StartNewPath( Vector3 destination)
{
Seeker.StartPath(transform.position, destination, () => {
Agent.canMove = true;
Agent.canSearch = true;
}) ;
}