Advertisement
Bcadren

Half-Pipe

Apr 18th, 2015
268
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. var newVertices : Vector3[];
  2. var newUV : Vector2[];
  3. var newTriangles : int[];
  4. var verts : Array;
  5. var UVs : Array;
  6. var triangles : Array;
  7. var a : float;
  8. var curvature : int; //must be even
  9. var depth : int;
  10. private var toggle : boolean;
  11. private var b : float;
  12.  
  13. function Start () {
  14.     toggle = true;
  15.     verts = new Array();
  16.     UVs = new Array();
  17.     triangles = new Array();   
  18.  
  19.     var mesh : Mesh = new Mesh ();
  20.     GetComponent.<MeshFilter>().mesh = mesh;
  21.     for (var i =0; i< curvature; i++) {
  22.         b = i* 1.0/curvature;
  23.         verts.Add(Vector3(b, a*b*b, 0));
  24.         verts.Add(Vector3(b, a*b*b, depth));
  25.         if (toggle) {
  26.             UVs.Add (Vector2(0,0));
  27.             UVs.Add (Vector2(1,0));
  28.             UVs.Add (Vector2(0,1));
  29.             UVs.Add (Vector2(1,1));
  30.             triangles.Add (i*2);
  31.             triangles.Add (i*2+1);
  32.             triangles.Add (i*2+2);
  33.            
  34.             triangles.Add (i*2+2);
  35.             triangles.Add (i*2+1);
  36.             triangles.Add (i*2+3);
  37.            
  38.             if (i < (curvature-2)) {
  39.            
  40.                 triangles.Add (i*2+2);
  41.                 triangles.Add (i*2+3);
  42.                 triangles.Add (i*2+5);
  43.                
  44.                 triangles.Add (i*2+2);
  45.                 triangles.Add (i*2+5);
  46.                 triangles.Add (i*2+4);
  47.            
  48. }}      toggle = !toggle;
  49. }   newVertices = verts.ToBuiltin(Vector3);
  50.     newUV = UVs.ToBuiltin(Vector2);
  51.     newTriangles = triangles.ToBuiltin(int);
  52.     mesh.vertices = newVertices;
  53.     mesh.uv = newUV;
  54.     mesh.triangles = newTriangles;
  55. }
  56.  
  57. //y = ax^2
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement