Just a simple test to draw two lines using submeshes and MeshTopology.LineStrip. Only the first one (points {0,1,2} ) gets drawn:
void Start()
{
List<Vector3> verts = new List<Vector3>();
verts.Add(new Vector3(-50f, 50f, 0f));
verts.Add(new Vector3(50f, 50f, 0f));
verts.Add(new Vector3(50f, -50f, 0f));
verts.Add(new Vector3(-50f, -50f, 0f));
Mesh newMesh = new Mesh();
newMesh.SetVertices(verts);
newMesh.subMeshCount = 2;
newMesh.SetIndices(new int[] { 0, 1, 2 }, MeshTopology.LineStrip, 0);
newMesh.SetIndices(new int[] { 2, 3, 0 }, MeshTopology.LineStrip, 1);
GameObject testObject = new GameObject("SubMeshTestObject");
MeshRenderer renderer = testObject.AddComponent<MeshRenderer>();
renderer.material = new Material(Shader.Find("Diffuse"));
MeshFilter filter = testObject.AddComponent<MeshFilter>();
filter.mesh = newMesh;
}
What am I doing wrong?