Search Unity

Runtime Mesh Generation - Messed up!

Discussion in 'Scripting' started by PulseHunter, Jul 6, 2018.

  1. PulseHunter

    PulseHunter

    Joined:
    Jul 31, 2013
    Posts:
    23
    I have tried diffrent solutions for the past 3 days.
    Any ideas ?

    Code (CSharp):
    1. for (int j = 0, k = 0; j < verticesArray.Length; k++)
    2.                 {
    3.                   ;
    4.                     GeoWithCords data = EntityManager.GetComponentData<GeoWithCords>(iterator[k]);
    5.  
    6.                     Vector2 v2a = new Vector2(data.cords0.x, data.cords0.y);
    7.                     Vector2 v2b = new Vector2(data.cords1.x, data.cords0.y);
    8.                     Vector2 v2c = new Vector2(data.cords2.x, data.cords0.y);
    9.                     Vector2 v2d = new Vector2(data.cords3.x, data.cords0.y);
    10.  
    11.                     verticesArray[j] = p.transform.InverseTransformPoint(new Vector3(layerDepth, v2a.y, v2a.x));
    12.                     verticesArray[j + 1] = p.transform.InverseTransformPoint(new Vector3(layerDepth, v2b.y, v2b.x));
    13.                     verticesArray[j + 2] = p.transform.InverseTransformPoint(new Vector3(layerDepth, v2c.y, v2c.x));
    14.                     verticesArray[j + 3] = p.transform.InverseTransformPoint(new Vector3(layerDepth, v2d.y, v2d.x));
    15.                     j += 4;
    16.                  
    17.  
    18.                 }
    19.            
    20.                 for (int v = 0; v < iteratorLength; v++)
    21.                 {
    22.                                      
    23.                     triangles[t] = v;
    24.                     triangles[t + 1] = 2 + v;
    25.                     triangles[t + 2] = 1 + v;
    26.  
    27.                     triangles[t + 3] = 3 + v;
    28.                     triangles[t + 4] = 1 + v;  
    29.                     triangles[t + 5] = 2 + v;
    30.  
    31.                    
    32.                     t += 6;
    33.  
    34.                 }
    35.  
    36.                 mesh.vertices = verticesArray;
    37.                 mesh.triangles = triangles;
    38.                 mesh.RecalculateNormals();
     
  2. Kurt-Dekker

    Kurt-Dekker

    Joined:
    Mar 16, 2013
    Posts:
    38,689
    It is unclear what you are trying to do. Can you simplify it down to a single triangle (three vertices and three integer offsets) and get that to go through correctly?
     
  3. PulseHunter

    PulseHunter

    Joined:
    Jul 31, 2013
    Posts:
    23
    Iam trying to combine all the vertices and triangels into one mesh.

    If i draw every triangle as a seperate mesh it works. But it is slow :/
     
  4. carking1996

    carking1996

    Joined:
    Jun 15, 2010
    Posts:
    2,609