http://blog.nobel-joergensen.com/201...mesh-in-unity/
http://gamesmaker.ru/programming/dir...trianglestrip/

Окружность - многоугольник с огромным числом рёбер(векторное представление)
А потом что-то типо такого:
public int SegmentCount=8;
public Vector3[] Centers={new Vector3(0,0,0)};
public float Distance=1f;
void Make(){
MeshFilter meshFilter = GetComponent();
if (meshFilter==null){
Debug.LogError("MeshFilter not found!");
return;
}
Vector3[] v = new Vector3[SegmentCount*Centers.Lenght];
int[] t=new int[SegmentCount*(Centers.Lenght-1)*3];
for(int j=0;j<Centers.Lenght;j++){
for(int i=0;i<SegmentCount;i++)
{
v[i+SegmentCount*j]= Centers[j] + new Vector(j*Distance,Mathf.Sin((i*360f*Mathf.GradToDeg)/SegmentCount),Mathf.Cos((i*360f*Mathf.GradToDeg)/SegmentCount));
//тут нужно придумать удобное заполнение массива треугольников
}
}
//не уверен что будет нормально работать
Mesh mesh = meshFilter.sharedMesh;
mesh.Clear();
mesh.vertices = v;
mesh.triangles = t;
mesh.RecalculateNormals();
mesh.RecalculateBounds();
mesh.Optimize();
}