Пардон, уже что-то нашел, наверное этого хватит:
http://www.decane.net/external/gener...munity_1.1.zip
Что-то вроде этого:

using UnityEngine;
using System.Collections;
public class Tracks : MonoBehaviour {
public Mesh mesh;
public int maxtracks=500;
public Vector3[] newVertices;
public Vector2[] newUV;
public int[] newTriangles;
void Start() {
newVertices=new Vector3[maxtracks*4];
newUV=new Vector2[maxtracks*4];
newTriangles=new int[maxtracks*2*3];
for(int i=0;i<maxtracks*4;i+=4){
float x=Random.Range(30,60);
float y=Random.Range(30,60);
newVertices[i]=new Vector3(x,8,y);
newVertices[i+1]=new Vector3(x+1,8,y);
newVertices[i+2]=new Vector3(x,8,y+1);
newVertices[i+3]=new Vector3(x+1,8,y+1);
}
for(int i=0;i<maxtracks*4;i+=4){
newUV[i]=new Vector2(0,0);
newUV[i+1]=new Vector2(1,0);
newUV[i+2]=new Vector2(0,1);
newUV[i+3]=new Vector2(1,1);
}
for(int i=0;i<maxtracks;i++){
newTriangles[i*6]=i*4;
newTriangles[i*6+1]=i*4+2;
newTriangles[i*6+2]=i*4+1;
newTriangles[i*6+3]=i*4+3;
newTriangles[i*6+4]=i*4+1;
newTriangles[i*6+5]=i*4+2;
}
mesh = new Mesh();
GetComponent<MeshFilter>().mesh = mesh;
mesh.Clear();
mesh.vertices = newVertices;
mesh.uv = newUV;
mesh.triangles = newTriangles;
}
void Update() {
}
}