[Bf-extensions-cvs] [70af85cd] master: Fixed 3dc->blender workflow and bake tools

Kalle-Samuli Riihikoski noreply at git.blender.org
Thu Apr 25 10:46:59 CEST 2019


Commit: 70af85cdc5c2df0744cc5df241df7a41cf2201ad
Author: Kalle-Samuli Riihikoski
Date:   Thu Apr 25 11:43:28 2019 +0300
Branches: master
https://developer.blender.org/rBA70af85cdc5c2df0744cc5df241df7a41cf2201ad

Fixed 3dc->blender workflow and bake tools

===================================================================

M	io_coat3D/__init__.py
M	io_coat3D/tex.py

===================================================================

diff --git a/io_coat3D/__init__.py b/io_coat3D/__init__.py
index 37bf1e7d..e5797013 100644
--- a/io_coat3D/__init__.py
+++ b/io_coat3D/__init__.py
@@ -637,13 +637,13 @@ class SCENE_OT_export(bpy.types.Operator):
             objekti.coat3D.applink_name = objekti.data.name
         mod_mat_list = {}
 
-        if (coat3D.bake_textures):
-            bake_location = folder_objects + os.sep + 'Bake'
-            if (os.path.isdir(bake_location)):
-                shutil.rmtree(bake_location)
-                os.makedirs(bake_location)
-            else:
-                os.makedirs(bake_location)
+
+        bake_location = folder_objects + os.sep + 'Bake'
+        if (os.path.isdir(bake_location)):
+            shutil.rmtree(bake_location)
+            os.makedirs(bake_location)
+        else:
+            os.makedirs(bake_location)
 
         temp_string = ''
         for objekti in bpy.context.selected_objects:
@@ -680,9 +680,7 @@ class SCENE_OT_export(bpy.types.Operator):
                 if (coat3D.bake_normal):
                     bake_list.append(['NORMAL', '$LOADLOPOLYTANG'])
                 if (coat3D.bake_roughness):
-                    bake_list.append(['SPECULAR', '$LOADROUGHNESS'])
-                if (coat3D.bake_metalness):
-                    bake_list.append(['REFLECTION', '$LOADMETAL'])
+                    bake_list.append(['ROUGHNESS', '$LOADROUGHNESS'])
 
                 if(coat3D.bake_resolution == 'res_64'):
                     res_size = 64
@@ -1136,7 +1134,6 @@ class SCENE_OT_import(bpy.types.Operator):
             index = 0
             for c_index in diff_objects:
                 bpy.data.objects[c_index].data.coat3D.name = '3DC'
-                bpy.data.objects[c_index].material_slots[0].material = bpy.data.materials[diff_mat[laskuri]]
                 laskuri += 1
 
             bpy.ops.object.select_all(action='DESELECT')
@@ -1156,8 +1153,6 @@ class SCENE_OT_import(bpy.types.Operator):
                     index = index + 1
 
                     bpy.context.view_layer.objects.active = new_obj
-                    keep_materials_count = len(new_obj.material_slots) - len(new_obj.data.uv_layers)
-                    delete_materials_from_end(keep_materials_count, new_obj)
 
                     new_obj.coat3D.applink_export = True
                     if(osoite_3b != ''):
@@ -1337,7 +1332,7 @@ class SCENE_PT_Bake_Settings(ObjectButtonsPanel, bpy.types.Panel):
         col = flow.column()
         col.prop(coat3D, "bake_ao", text="AO")
         col = flow.column()
-        col.prop(coat3D, "bake_metalness", text="Metalness")
+        col.prop(coat3D, "bake_normal", text="Normal")
         col = flow.column()
         col.prop(coat3D, "bake_roughness", text="Roughness")
 
@@ -1720,7 +1715,7 @@ class MeshCoat3D(PropertyGroup):
     )
 
 class MaterialCoat3D(PropertyGroup):
-    name: BoolProperty(
+    name: StringProperty(
         name="ApplinkAddress",
         # subtype="APPLINK_ADDRESS",
         default=True
@@ -1762,8 +1757,8 @@ classes = (
     SCENE_PT_Material,
     SCENE_PT_Settings_Update,
     SCENE_PT_Bake_Settings,
-    SCENE_PT_Settings_Folders,
     SCENE_PT_Settings_DeleteNodes,
+    SCENE_PT_Settings_Folders,
     SCENE_PT_Material_Import,
     SCENE_OT_folder,
     SCENE_OT_opencoat,
diff --git a/io_coat3D/tex.py b/io_coat3D/tex.py
index 6d90a594..980bcc13 100644
--- a/io_coat3D/tex.py
+++ b/io_coat3D/tex.py
@@ -183,62 +183,123 @@ def readtexturefolder(objekti, mat_list, texturelist, is_new, udim_textures): #r
         if(udim_textures == False):
             for texture_info in texturelist:
 
-                if texture_info[0] == index_mat.name:
-                    if texture_info[2] == 'color' or texture_info[2] == 'diffuse':
-                        if(index_mat.material.coat3D_diffuse):
-                            texcoat['color'].append(texture_info[3])
-                            create_nodes = True
-                        else:
-                            os.remove(texture_info[3])
-                    elif texture_info[2] == 'metalness' or texture_info[2] == 'specular' or texture_info[2] == 'reflection':
-                        if (index_mat.material.coat3D_metalness):
-                            texcoat['metalness'].append(texture_info[3])
-                            create_nodes = True
-                        else:
-                            os.remove(texture_info[3])
-                    elif texture_info[2] == 'rough' or texture_info[2] == 'roughness':
-                        if (index_mat.material.coat3D_roughness):
-                            texcoat['rough'].append(texture_info[3])
-                            create_nodes = True
-                        else:
-                            os.remove(texture_info[3])
-                    elif texture_info[2] == 'nmap' or texture_info[2] == 'normalmap' or texture_info[2] == 'normal_map'  or texture_info[2] == 'normal':
-                        if (index_mat.material.coat3D_normal):
-                            texcoat['nmap'].append(texture_info[3])
-                            create_nodes = True
-                        else:
-                            os.remove(texture_info[3])
-                    elif texture_info[2] == 'emissive':
-                        if (index_mat.material.coat3D_emissive):
-                            texcoat['emissive'].append(texture_info[3])
-                            create_nodes = True
-                        else:
-                            os.remove(texture_info[3])
-                    elif texture_info[2] == 'emissive_power':
-                        if (index_mat.material.coat3D_emissive):
-                            texcoat['emissive_power'].append(texture_info[3])
-                            create_nodes = True
-                        else:
-                            os.remove(texture_info[3])
-                    elif texture_info[2] == 'ao':
-                        if (index_mat.material.coat3D_ao):
-                            texcoat['ao'].append(texture_info[3])
-                            create_nodes = True
-                        else:
-                            os.remove(texture_info[3])
-                    elif texture_info[2].startswith('displacement'):
-                        if (index_mat.material.coat3D_displacement):
-                            texcoat['displacement'].append(texture_info[3])
-                            create_nodes = True
-                        else:
-                            os.remove(texture_info[3])
-                    elif texture_info[2] == 'alpha' or texture_info[2] == 'opacity':
-                        if (index_mat.material.coat3D_metalness):
-                            texcoat['alpha'].append(texture_info[3])
-                            create_nodes = True
-                        else:
-                            os.remove(texture_info[3])
-                    create_group_node = True
+                if is_new == False:
+                    if texture_info[0] == index_mat.name:
+                        if texture_info[2] == 'color' or texture_info[2] == 'diffuse':
+                            if(index_mat.material.coat3D_diffuse):
+                                texcoat['color'].append(texture_info[3])
+                                create_nodes = True
+                            else:
+                                os.remove(texture_info[3])
+                        elif texture_info[2] == 'metalness' or texture_info[2] == 'specular' or texture_info[2] == 'reflection':
+                            if (index_mat.material.coat3D_metalness):
+                                texcoat['metalness'].append(texture_info[3])
+                                create_nodes = True
+                            else:
+                                os.remove(texture_info[3])
+                        elif texture_info[2] == 'rough' or texture_info[2] == 'roughness':
+                            if (index_mat.material.coat3D_roughness):
+                                texcoat['rough'].append(texture_info[3])
+                                create_nodes = True
+                            else:
+                                os.remove(texture_info[3])
+                        elif texture_info[2] == 'nmap' or texture_info[2] == 'normalmap' or texture_info[2] == 'normal_map'  or texture_info[2] == 'normal':
+                            if (index_mat.material.coat3D_normal):
+                                texcoat['nmap'].append(texture_info[3])
+                                create_nodes = True
+                            else:
+                                os.remove(texture_info[3])
+                        elif texture_info[2] == 'emissive':
+                            if (index_mat.material.coat3D_emissive):
+                                texcoat['emissive'].append(texture_info[3])
+                                create_nodes = True
+                            else:
+                                os.remove(texture_info[3])
+                        elif texture_info[2] == 'emissive_power':
+                            if (index_mat.material.coat3D_emissive):
+                                texcoat['emissive_power'].append(texture_info[3])
+                                create_nodes = True
+                            else:
+                                os.remove(texture_info[3])
+                        elif texture_info[2] == 'ao':
+                            if (index_mat.material.coat3D_ao):
+                                texcoat['ao'].append(texture_info[3])
+                                create_nodes = True
+                            else:
+                                os.remove(texture_info[3])
+                        elif texture_info[2].startswith('displacement'):
+                            if (index_mat.material.coat3D_displacement):
+                                texcoat['displacement'].append(texture_info[3])
+                                create_nodes = True
+                            else:
+                                os.remove(texture_info[3])
+                        elif texture_info[2] == 'alpha' or texture_info[2] == 'opacity':
+                        

@@ Diff output truncated at 10240 characters. @@



More information about the Bf-extensions-cvs mailing list