From 5d4ae918cb60b082d6eea8e0e9633b1e645aa3fa Mon Sep 17 00:00:00 2001 From: John Phan <darkneter@gmail.com> Date: Thu, 17 Feb 2011 03:31:38 +0000 Subject: [PATCH] fixed tmp mesh to unlink to scene. --- io_export_unreal_psk_psa.py | 34 +++++++++++++++++++++++++--------- 1 file changed, 25 insertions(+), 9 deletions(-) diff --git a/io_export_unreal_psk_psa.py b/io_export_unreal_psk_psa.py index 01a8ab794..2775b9a2e 100644 --- a/io_export_unreal_psk_psa.py +++ b/io_export_unreal_psk_psa.py @@ -608,9 +608,10 @@ def is_1d_face(blender_face,mesh): ################################################## # http://en.wikibooks.org/wiki/Blender_3D:_Blending_Into_Python/Cookbook#Triangulate_NMesh - +bDeleteMergeMesh = False #blender 2.50 format using the Operators/command convert the mesh to tri mesh def triangulateNMesh(object): + global bDeleteMergeMesh bneedtri = False scene = bpy.context.scene bpy.ops.object.mode_set(mode='OBJECT') @@ -642,6 +643,10 @@ def triangulateNMesh(object): bpy.ops.object.mode_set(mode='OBJECT') # set it in object bpy.context.scene.unrealtriangulatebool = True print("Triangulate Mesh Done!") + if bDeleteMergeMesh == True: + print("Remove Merge tmp Mesh [ " ,object.name, " ] from scene!" ) + bpy.ops.object.mode_set(mode='OBJECT') # set it in object + bpy.context.scene.objects.unlink(object) else: bpy.context.scene.unrealtriangulatebool = False print("No need to convert tri mesh.") @@ -682,7 +687,7 @@ def BoneIndexArmature(blender_armature): #BBCount += 1 break -bDeleteMergeMesh = False + # Actual object parsing functions def parse_meshes(blender_meshes, psk_file): #this is use to call the bone name and the index array for group index matches @@ -937,12 +942,23 @@ def parse_meshes(blender_meshes, psk_file): psk_file.VertexGroups[bonegroup.bone] = vert_list #unrealtriangulatebool #this will remove the mesh from the scene - if (bpy.context.scene.unrealtriangulatebool == True)or (bDeleteMergeMesh == True): - if bDeleteMergeMesh == True: - print("Removing merge mesh.") + ''' + if (bpy.context.scene.unrealtriangulatebool == True) and (bDeleteMergeMesh == True): + #if bDeleteMergeMesh == True: + # print("Removing merge mesh.") print("Remove tmp Mesh [ " ,current_obj.name, " ] from scene >" ,(bpy.context.scene.unrealtriangulatebool )) bpy.ops.object.mode_set(mode='OBJECT') # set it in object bpy.context.scene.objects.unlink(current_obj) + el + ''' + if bDeleteMergeMesh == True: + print("Remove Merge tmp Mesh [ " ,current_obj.name, " ] from scene >" ,(bpy.context.scene.unrealtriangulatebool )) + bpy.ops.object.mode_set(mode='OBJECT') # set it in object + bpy.context.scene.objects.unlink(current_obj) + elif bpy.context.scene.unrealtriangulatebool == True: + print("Remove tri tmp Mesh [ " ,current_obj.name, " ] from scene >" ,(bpy.context.scene.unrealtriangulatebool )) + bpy.ops.object.mode_set(mode='OBJECT') # set it in object + bpy.context.scene.objects.unlink(current_obj) #if bDeleteMergeMesh == True: #print("Remove merge Mesh [ " ,current_obj.name, " ] from scene") #bpy.ops.object.mode_set(mode='OBJECT') # set it in object @@ -1498,14 +1514,14 @@ def meshmerge(selectedobjects): print("selectedobjects:",len(selectedobjects)) count = 0 #reset count for count in range(len( selectedobjects)): - print("Index:",count) + #print("Index:",count) if selectedobjects[count] != None: me_da = selectedobjects[count].data.copy() #copy data me_ob = selectedobjects[count].copy() #copy object #note two copy two types else it will use the current data or mesh me_ob.data = me_da bpy.context.scene.objects.link(me_ob)#link the object to the scene #current object location - print("clone object",me_ob.name) + print("Index:",count,"clone object",me_ob.name) cloneobjects.append(me_ob) #bpy.ops.object.mode_set(mode='OBJECT') for i in bpy.data.objects: i.select = False #deselect all objects @@ -1591,7 +1607,7 @@ def fs_callback(filename, context): else: notcentermesh.append(selectmesh[countm]) if len(centermesh) > 0: - print("center object found") + print("Center Object Found!") blender_meshes = [] selectmesh = [] countm = 0 @@ -1604,7 +1620,7 @@ def fs_callback(filename, context): else: bDeleteMergeMesh = False bmesh = False - print("center object not found") + print("Center Object Not Found") else: print(" - Too Many Meshes!") print(" - Select One Mesh Object!") -- GitLab