I'm trying to export some meshes generated in Away3D (with Path Extrude) to an .obj file that I can use in Three.js. I've managed to export the geometry but can figure out the UV mapping. Here's what I got so far:
private static function getObjFile(geometry:Geometry):String {
var objFile:String = "" ;
var i:int = 0;
var pri:int = 0;
var sg:SubGeometry;
var b:uint = 0;
for each(sg in geometry.subGeometries){
objFile += "\no";
i = 0;
for each(var v:Number in sg.vertexData){
if(i%3 == 0) objFile += "\nv";
i++;
objFile += " " + setPrecision(v, 1000);
}
i=0;
for each(var v:Number in sg.UVData){
if(i%2 == 0) objFile += "\nvt";
i++;
objFile += " " + setPrecision(v, 1000);
}
b = 0;
for each(var ind:uint in sg.indexData){
if(b%3 == 0) objFile += "\nf";
b++;
objFile += " " + String(ind + 1 + pri)+"/"+String(ind + 1 + pri);
}
b = 0;
for each(var n:Number in sg.vertexNormalData) {
if (b % 3 == 0) objFile += "\nvn";
objFile += " " + setPrecision(n, 1000);
b++;
}
pri = i /3;
}
return objFile;
}
What am I doing wrong? I need the geometry and the UVs... so far if I keep only the first two loops I get valid obj with geometry and no UVs. If add the UV loop... the UV buffer is invalid for some reason.
Try out this: