int O = 0;      //复杂度累计(超过3个点之后不计算.计算个蛋球).
 void CalculatePath(MovePath path, Vector3 start, Vector3 end)
 {
     if (O > 3)
     {
         return;
     }
     O++;
     collider.enabled = false;
     if (Physics.SphereCast(new Ray(start, end - start), radius, out hit, GetDistace(start, end)))
     {
         if (hit.collider.bounds.Contains(end))
         {
             collider.enabled = true;
             return;
         }
         path.Insert(path.pathNode.Length - 1, GetPoit(path, hit, end - start));                                //插入倒数第二个位置一个计算好的点
         CalculatePath(path, path.pathNode[path.pathNode.Length - 2], path.pathNode[path.pathNode.Length - 1]); //计算下一个点,直到没有障碍物
     }
     else
     {
         for (int i = 0; i < path.pathNode.Length - 1; i++)
         {
             if (!Physics.Raycast(path.pathNode[i], path.pathNode[path.pathNode.Length - 1] - path.pathNode[i], GetDistace(path.pathNode[i], path.pathNode[path.pathNode.Length - 1])))
             {
                 path.RemoveToEnd(i + 1);
                 break;
             }
         }
     }
     collider.enabled = true;
 }