Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- public function assignUVMapping(channel:Number):void {
- var i:Number;
- var uvChannel:Number;
- i = 0;
- /* If there is no mesh assigned, it finishes */
- if (vectorMeshes.length == 0) return;
- if (channel == 0)
- uvChannel = Surface3D.UV0;
- else uvChannel = Surface3D.UV1;
- for each (var actualMesh:Mesh3D in vectorMeshes) {
- for each(var s:Surface3D in actualMesh.surfaces) {
- s.addVertexData( Surface3D.UV1, 2 );
- for ( var index:int = 0; index < s.indexVector.length; index = index + 3 ){
- var uv0:int = s.indexVector[index] * s.sizePerVertex + s.offset[uvChannel];
- var uv1:int = s.indexVector[index + 1] * s.sizePerVertex + s.offset[uvChannel];
- var uv2:int = s.indexVector[index + 2] * s.sizePerVertex + s.offset[uvChannel];
- s.vertexVector[uv0] = vectorBoxes[i].face.nP1.x;
- s.vertexVector[uv0 + 1] = vectorBoxes[i].face.nP1.y;
- s.vertexVector[uv1] = vectorBoxes[i].face.nP2.x;
- s.vertexVector[uv1 + 1] = vectorBoxes[i].face.nP2.y;
- s.vertexVector[uv2] = vectorBoxes[i].face.nP3.x;
- s.vertexVector[uv2 + 1] = vectorBoxes[i].face.nP3.y;
- /*
- s.vertexVector[uv0] = 0.5;
- s.vertexVector[uv0 + 1] = 0.5;
- s.vertexVector[uv1] = 0.5;
- s.vertexVector[uv1 + 1] = 0.5;
- s.vertexVector[uv2] = 0.5;
- s.vertexVector[uv2 + 1] = 0.5;
- */
- if (debug){
- 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]);
- }
- i++; //every 3 vertex there is a face
- }
- if (debug) {
- trace();
- trace("asignados ");
- for ( var a:int = 0; a < s.indexVector.length; a += 3 ) {
- var u0:int = s.indexVector[a] * s.sizePerVertex + s.offset[uvChannel];
- var u1:int = s.indexVector[a + 1] * s.sizePerVertex + s.offset[uvChannel];
- var u2:int = s.indexVector[a + 2] * s.sizePerVertex + s.offset[uvChannel];
- var x:int = s.indexVector[a] * s.sizePerVertex + s.offset[Surface3D.POSITION];
- trace("x=", s.vertexVector[x], " y=", s.vertexVector[x + 1], " z=", s.vertexVector[x + 2], " u=", s.vertexVector[u0] , " v=", s.vertexVector[u0 + 1]);
- x = s.indexVector[a + 1] * s.sizePerVertex + s.offset[Surface3D.POSITION];
- trace("x=", s.vertexVector[x], " y=", s.vertexVector[x + 1], " z=", s.vertexVector[x + 2], " u=", s.vertexVector[u1], " v=", s.vertexVector[u1 + 1]);
- x = s.indexVector[a + 2] * s.sizePerVertex + s.offset[Surface3D.POSITION];
- trace("x=", s.vertexVector[x], " y=", s.vertexVector[x + 1], " z=", s.vertexVector[x + 2], " u=", s.vertexVector[u2], " v=", s.vertexVector[u2 + 1]);
- }
- }
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement