rendered paste body#!BPY"""Name: 'Serious Sam 2 AMF'Blender: 2.42aGroup: 'Export'Tooltip: 'Serious Sam 2 AMF exporter'"""##################################### Library dependancies####################################import Blenderdef write_obj(filepath): out = file(filepath, 'w') scn = Blender.Scene.GetCurrent() object = scn.getActiveObject() mesh = object.getData() #################################### # Header #################################### out.write('SE_MESH 1.01\n') #################################### # Layers #################################### #################################### # Vertecies > Elements #################################### out.write('ELEMENTS ') elementCount = 0 for vert in mesh.verts: elementCount = (elementCount +1) out.write(str(elementCount)) out.write('\n{\n') for vert in mesh.verts: out.write( '{ %f %f %f }\n' % (vert.co.x, vert.co.y, vert.co.z) ) out.write('}\n') #################################### # Faces > Polygons #################################### out.write('POLYGONS ') faceCount = 0 for face in mesh.faces: faceCount = (faceCount +1) out.write(str(faceCount)) out.write('\n{\n') for face in mesh.faces: out.write('{ ') for vert in face.v: out.write( ' %i' % (vert.index + 1) ) out.write('}\n') out.write('}\n') Cs = range(len(mesh.verts)) # params = {"P":points} nfaces = len(mesh.faces) # print nfaces, " faces found." nverts = [] vertids = [] st = range(len(mesh.verts)) for face in mesh.faces: nverts.append(len(face.v)) if mesh.vertexColors == 1: if len(face.v) > 2: for vertIdx in range(len(face.v)): Cs[face.v[vertIdx].index] = face.col[vertIdx] # should actually average the vert color across if mesh.faceUV == 1: if len(face.v) > 2: for vertIdx in range(len(face.v)): st[face.v[vertIdx].index] = [face.uv[vertIdx][0], 1.0 - face.uv[vertIdx][1]] #else: #if len(mesh.faces[0].uv) != 0: # vtuv = [] # for vertIdx in range(len(face.v)): # uv = face.uv[vertIdx] # uv = uv[0], 1.0 - uv[1] # vertTexUV[face.v[vertIdx].index] = uv if mesh.vertexUV: pass fVerts = [] out.close() Blender.Window.FileSelector(write_obj, "Export")