Advertisement
Guest User

Untitled

a guest
Sep 19th, 2017
79
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. public function assignUVMapping(channel:Number):void {         
  2.             var i:Number;
  3.             var uvChannel:Number;
  4.            
  5.             i = 0;
  6.            
  7.            
  8.             /* If there is no mesh assigned, it finishes */
  9.             if (vectorMeshes.length == 0) return;
  10.            
  11.             if (channel == 0)
  12.                 uvChannel = Surface3D.UV0;
  13.             else  uvChannel = Surface3D.UV1;       
  14.            
  15.            
  16.            
  17.             for each (var actualMesh:Mesh3D in vectorMeshes) {
  18.                 for each(var s:Surface3D in actualMesh.surfaces) {                                                                                                 
  19.                         s.addVertexData( Surface3D.UV1, 2 );
  20.                         for ( var index:int = 0; index < s.indexVector.length; index = index + 3 ){
  21.                             var uv0:int = s.indexVector[index] * s.sizePerVertex + s.offset[uvChannel];
  22.                             var uv1:int = s.indexVector[index + 1] * s.sizePerVertex + s.offset[uvChannel];
  23.                             var uv2:int = s.indexVector[index + 2] * s.sizePerVertex + s.offset[uvChannel];
  24.                            
  25.                             s.vertexVector[uv0] = vectorBoxes[i].face.nP1.x;                           
  26.                             s.vertexVector[uv0 + 1] = vectorBoxes[i].face.nP1.y;                                 
  27.                                
  28.                             s.vertexVector[uv1] = vectorBoxes[i].face.nP2.x;
  29.                             s.vertexVector[uv1 + 1] = vectorBoxes[i].face.nP2.y;
  30.                              
  31.                             s.vertexVector[uv2] = vectorBoxes[i].face.nP3.x;
  32.                             s.vertexVector[uv2 + 1] = vectorBoxes[i].face.nP3.y;
  33.                                 /*
  34.                                 s.vertexVector[uv0] = 0.5;                         
  35.                                 s.vertexVector[uv0 + 1] = 0.5;                               
  36.                                
  37.                                 s.vertexVector[uv1] = 0.5;
  38.                                 s.vertexVector[uv1 + 1] = 0.5;
  39.                              
  40.                                 s.vertexVector[uv2] = 0.5;
  41.                                 s.vertexVector[uv2 + 1] = 0.5;
  42.                                 */
  43.                             if (debug){
  44.                                 trace("u=", s.vertexVector[uv0], " v= ", s.vertexVector[uv0 +1], " u=", s.vertexVector[uv1], " v=", s.vertexVector[uv1+1], " u=", s.vertexVector[uv2], " v=", s.vertexVector[uv2+1]);                                                          
  45.                             }
  46.                             i++; //every 3 vertex there is a face                          
  47.                         }
  48.                     if (debug)  {
  49.                         trace();
  50.                         trace("asignados ");           
  51.                         for ( var a:int = 0; a < s.indexVector.length; a += 3 ) {
  52.                             var u0:int = s.indexVector[a] * s.sizePerVertex + s.offset[uvChannel];
  53.                             var u1:int = s.indexVector[a + 1] * s.sizePerVertex + s.offset[uvChannel];                     
  54.                             var u2:int = s.indexVector[a + 2] * s.sizePerVertex + s.offset[uvChannel];
  55.                    
  56.                             var x:int = s.indexVector[a] * s.sizePerVertex + s.offset[Surface3D.POSITION];         
  57.                             trace("x=", s.vertexVector[x], " y=", s.vertexVector[x + 1], " z=", s.vertexVector[x + 2], " u=", s.vertexVector[u0] , " v=", s.vertexVector[u0 + 1]);
  58.                  
  59.                             x = s.indexVector[a + 1] * s.sizePerVertex + s.offset[Surface3D.POSITION];                         
  60.                             trace("x=", s.vertexVector[x], " y=", s.vertexVector[x + 1], " z=", s.vertexVector[x + 2], " u=", s.vertexVector[u1], " v=", s.vertexVector[u1 + 1]);
  61.                    
  62.                             x = s.indexVector[a + 2] * s.sizePerVertex + s.offset[Surface3D.POSITION];                         
  63.                             trace("x=", s.vertexVector[x], " y=", s.vertexVector[x + 1], " z=", s.vertexVector[x + 2], " u=", s.vertexVector[u2], " v=", s.vertexVector[u2 + 1]);
  64.                         }
  65.                     }
  66.  
  67.                        
  68.                 }              
  69.             }          
  70.                
  71.         }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement