From 5e62f1d81d3f117cfc8203b8b595cca0b324ad0c Mon Sep 17 00:00:00 2001 From: ProDeath21 <> Date: Mon, 13 May 2024 23:25:03 +0200 Subject: [PATCH] Blender Plugin 1.8.0 NEW: - auto gen. Emptys at mesh origin - fix naming convention from point to underscore - auto gen. Collections for Unreal export FIX: - "Fix Material Names" completely redone (pls test) --- Blender/_Release/L1960_Tools_1_8_0.zip | Bin 0 -> 30879 bytes .../L1960_Tools_1_8_0/ColorPalette_01.png | Bin 0 -> 16990 bytes .../L1960_Tools_1_8_0/ColorPalette_02.png | Bin 0 -> 15542 bytes .../L1960_Tools_1_8_0/CubeProjection.py | 94 ++++++++++ Blender/_Source/L1960_Tools_1_8_0/Helper.py | 169 ++++++++++++++++++ .../_Source/L1960_Tools_1_8_0/PrepareLods.py | 128 +++++++++++++ Blender/_Source/L1960_Tools_1_8_0/__init__.py | 122 +++++++++++++ 7 files changed, 513 insertions(+) create mode 100644 Blender/_Release/L1960_Tools_1_8_0.zip create mode 100644 Blender/_Source/L1960_Tools_1_8_0/ColorPalette_01.png create mode 100644 Blender/_Source/L1960_Tools_1_8_0/ColorPalette_02.png create mode 100644 Blender/_Source/L1960_Tools_1_8_0/CubeProjection.py create mode 100644 Blender/_Source/L1960_Tools_1_8_0/Helper.py create mode 100644 Blender/_Source/L1960_Tools_1_8_0/PrepareLods.py create mode 100644 Blender/_Source/L1960_Tools_1_8_0/__init__.py diff --git a/Blender/_Release/L1960_Tools_1_8_0.zip b/Blender/_Release/L1960_Tools_1_8_0.zip new file mode 100644 index 0000000000000000000000000000000000000000..ca0b60ee67b9045ea9c1d8e9e083d8d76bf95d23 GIT binary patch literal 30879 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 W9B_z#Jgbm@zWX3RKmgZ&T>XEk&(8V) literal 0 HcmV?d00001 diff --git a/Blender/_Source/L1960_Tools_1_8_0/ColorPalette_01.png b/Blender/_Source/L1960_Tools_1_8_0/ColorPalette_01.png new file mode 100644 index 0000000000000000000000000000000000000000..d2ac18544e1ec26f5b66b2f11e06eef40422f6e3 GIT binary patch literal 16990 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 Opr)*)RD9Pu`2PUmEl~IX literal 0 HcmV?d00001 diff --git a/Blender/_Source/L1960_Tools_1_8_0/ColorPalette_02.png b/Blender/_Source/L1960_Tools_1_8_0/ColorPalette_02.png new file mode 100644 index 0000000000000000000000000000000000000000..68a926be528a08255b88e5290bbe12b5b98e9fe9 GIT binary patch literal 15542 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 1: + for uv_layer in reversed(arr_layers): + arr_layers.remove(uv_layer) + arr_layers.new(name = 'MLOD') + + + texture_filepath = os.path.join(L1960_path, colorpalettes[1]) + + if not len(obj.data.materials) == 0: + obj.data.materials.clear() + + palette_enum_selection = context.scene.color_palettes.mlod_enum_selection + mlod_material_name = "MLOD_" + palette_enum_selection[:-4] + + if not bpy.data.materials.get(mlod_material_name): + material = bpy.data.materials.new(name=mlod_material_name) + material.use_nodes = True + bsdf_node = material.node_tree.nodes["Principled BSDF"] + texImage = material.node_tree.nodes.new('ShaderNodeTexImage') + texImage.image = bpy.data.images.get(palette_enum_selection) + + material.node_tree.links.new(bsdf_node.inputs['Base Color'], texImage.outputs['Color']) + + obj.data.materials.append(bpy.data.materials.get(mlod_material_name)) + + + self.report({'INFO'}, 'Mesh configured like MLOD') + return {"FINISHED"} + + def import_palettes_textures(self): + for image_name in colorpalettes: + texture_name = image_name.split(".")[0] + if texture_name not in bpy.data.textures: + texture = bpy.data.textures.new(name=texture_name, type='IMAGE') + else: + texture = bpy.data.textures.get(texture_name) + if image_name not in bpy.data.images: + image = bpy.data.images.load(os.path.join(L1960_path, image_name)) + else: + image = bpy.data.images.get(image_name) + texture.image = image + +### PREPARE LODS ### + +class MESH_OT_prepare_lods_decimate(bpy.types.Operator): + """Copy current Mesh and apply decimate Modifier""" + + bl_idname = "mesh.prepare_lods_decimate" + bl_label = "Copy current Mesh and apply decimate Modifier" + bl_options = {"REGISTER", "UNDO"} + + def execute(self, context): + + #Selected Mesh + obj = bpy.context.active_object + + if obj not in bpy.context.selected_objects or obj.type != "MESH": + self.report({'WARNING'}, 'Select a Mesh to continue') + return {"CANCELLED"} + + if not obj.name[:-1].endswith('LOD'): + obj.name = obj.name + '_LOD0' + + LODnumber = context.scene.lod_slider #Get from Slider + startLODcount = int(obj.name[-1]) + endLODcount = startLODcount + LODnumber + + for i in range (startLODcount + 1, endLODcount): + new_obj = obj.copy() + new_obj.data = obj.data.copy() + new_obj.name = obj.name[:-1] + str(i) + bpy.context.collection.objects.link(new_obj) + + for t in range (startLODcount, i): + newModifierName = 'LOD_Decimate_' + str(t) + new_obj.modifiers.new(type='DECIMATE', name=newModifierName) + mod = new_obj.modifiers[newModifierName] + mod.ratio = 0.49 + mod.use_collapse_triangulate = True + + self.report({'INFO'}, 'LOD´s created') + return {"FINISHED"} \ No newline at end of file diff --git a/Blender/_Source/L1960_Tools_1_8_0/__init__.py b/Blender/_Source/L1960_Tools_1_8_0/__init__.py new file mode 100644 index 0000000..ec4d7c6 --- /dev/null +++ b/Blender/_Source/L1960_Tools_1_8_0/__init__.py @@ -0,0 +1,122 @@ +bl_info = { + "name": "L1960 Tools", + "author": "Prodeath21", + "version": (1, 8, 0), + "blender": (2, 80, 0), + "location": "3D Viewport > Sidebar > 1960Life category", + "description": "Set´s up the Projection-Modifier automatically and add´s in the Emptys if not allready created.", + "category": "Object", +} + +# ---------------------------------------------- +# Import modules +# ---------------------------------------------- +if "bpy" in locals(): + import imp + imp.reload(CubeProjection) + imp.reload(Helper) + imp.reload(PrepareLods) + print("L1960 Tools: Reloaded multifiles") +else: + from . import CubeProjection + from . import Helper + from . import PrepareLods + +import bpy + +from . CubeProjection import MESH_OT_add_auto_cube_projection, MESH_OT_add_modifier_to_mesh +from . Helper import MESH_OT_fix_material_names, MESH_OT_group_objects_in_collections, MESH_OT_fix_naming_conventions, MESH_OT_generate_empty_for_mesh +from . PrepareLods import MESH_OT_prepare_lods_decimate, MESH_OT_set_up_mlod, EnumColorPalettes + +class L1960_PT_tools(bpy.types.Panel): + pass + #where to add the panel + bl_space_type = "VIEW_3D" + bl_region_type = "UI" + + #add labels + bl_label = "1960-Life Tools" + bl_category = "1960-Life" + + def draw(self, context): + """define the layout of the panel""" + box = self.layout.box() + # UV-Project helper + box.label(text="UV-Projection") + row = box.row() + row.operator("mesh.add_auto_cube_projection", text="Set up Projectors") + row = box.row() + row.operator("mesh.add_modifier_to_mesh", text="Add Modifier to Mesh") + self.layout.separator() + # Helpers + box = self.layout.box() + box.label(text="Various Helper") + row = box.row() + row.operator("mesh.fix_material_names", text="Fix Material Name´s") + row = box.row() + row.operator("mesh.group_objects_in_collections", text="Group to Collections") + row = box.row() + row.operator("mesh.fix_naming_convention", text="Fix Naming Convention") + row = box.row() + row.operator("mesh.generate_empty_for_mesh", text="Generate Empty") + self.layout.separator() + # Generate LODs + box = self.layout.box() + box.label(text="LOD´s") + row = box.row() + row.operator("mesh.prepare_lods_decimate", text="Create LOD´s") + box.prop(context.scene, "lod_slider", text="Amount") + box = self.layout.box() + box.prop(context.scene.color_palettes, "mlod_enum_selection", expand=True) + row = box.row() + row.operator("mesh.set_up_mlod", text="Set up MLOD") + self.layout.separator() + ############################### + # Enfusion Blender Tools Linked + box = self.layout.box() + box.label(text="EBT Linked") + row = box.row() + row.operator("view3d.ebt_sort", text="Sort Objects") + # colliders setup is allowed in both OBJECT and EDIT mode + row = box.row() + row.operator("view3d.ebt_colliders_setup", text=" Colliders Setup") + row = box.row() + # Light Setup + row.operator("view3d.ebt_setup_light", text=" Light Setup") + row = box.row() + col = row.column(align=True) + # Update Materials + col.operator("scene.ebt_update_enf_materials",) + row = box.row() + col = row.column(align=True) + + +#register the panel with blender +modules = [ L1960_PT_tools, + MESH_OT_add_auto_cube_projection, + MESH_OT_add_modifier_to_mesh, + MESH_OT_fix_material_names, + MESH_OT_group_objects_in_collections, + MESH_OT_fix_naming_conventions, + MESH_OT_generate_empty_for_mesh, + MESH_OT_prepare_lods_decimate, + MESH_OT_set_up_mlod, + EnumColorPalettes +] + +def register(): + for mod in modules: + bpy.utils.register_class(mod) + + bpy.types.Scene.lod_slider = bpy.props.IntProperty(name="LOD Number", default=3, min=0, max=10) + bpy.types.Scene.color_palettes = bpy.props.PointerProperty(type=EnumColorPalettes) + +def unregister(): + for mod in modules: + bpy.utils.unregister_class(mod) + + del bpy.types.Scene.lod_slider + del bpy.types.Scene.color_palettes + +if __name__== "__main__": + register() \ No newline at end of file