All pastes #248377 Raw Edit

Something

public python v1 · immutable
#248377 ·published 2006-11-14 16:19 UTC
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")