Add Remove Material Button
This commit is contained in:
@@ -1,7 +1,7 @@
|
||||
bl_info = {
|
||||
"name": "LancerEdit Model Utility Plugin",
|
||||
"author": "Darklighter",
|
||||
"version": (0, 0, 1),
|
||||
"version": (0, 0, 2),
|
||||
"blender": (4, 5, 3),
|
||||
"location": "3D-Viewport > Sidebar > FLLancerEdit Utility",
|
||||
"description": "Non-offical LancerEdit Model Utility Plugin for PC-Game Freelancer",
|
||||
@@ -159,6 +159,21 @@ class RenameChildObjectOperator(bpy.types.Operator):
|
||||
self.report({'INFO'}, "Selected child objects renamed successfully")
|
||||
return {'FINISHED'}
|
||||
|
||||
class OBJECT_OT_remove_hull_material(bpy.types.Operator):
|
||||
bl_idname = "object.remove_hull_material"
|
||||
bl_label = "Remove Hull Material"
|
||||
bl_description = "Remove materials from selected objects"
|
||||
|
||||
def execute(self, context):
|
||||
selected_objects = context.selected_objects
|
||||
|
||||
for obj in selected_objects:
|
||||
if obj.type == 'MESH' and obj.data.materials:
|
||||
obj.data.materials.clear()
|
||||
|
||||
self.report({'INFO'}, "Materials removed from selected objects")
|
||||
return {'FINISHED'}
|
||||
|
||||
class OBJECT_OT_create_convex(bpy.types.Operator):
|
||||
bl_idname = "object.create_convex"
|
||||
bl_label = "Create Convex"
|
||||
@@ -212,6 +227,30 @@ class OBJECT_OT_create_convex(bpy.types.Operator):
|
||||
self.report({'INFO'}, "Convex hull created")
|
||||
return {'FINISHED'}
|
||||
|
||||
class OBJECT_OT_add_parent_component(bpy.types.Operator):
|
||||
bl_idname = "object.add_parent_component"
|
||||
bl_label = "Add Parent Component"
|
||||
bl_description = "Set the parent of the selected object to specified object"
|
||||
|
||||
parent_object_name: bpy.props.StringProperty(
|
||||
name="Parent Object Name",
|
||||
description="Name of the object to set as parent",
|
||||
default=""
|
||||
)
|
||||
|
||||
def execute(self, context):
|
||||
parent_obj = bpy.data.objects.get(self.parent_object_name)
|
||||
if not parent_obj:
|
||||
self.report({'WARNING'}, f"Object '{self.parent_object_name}' not found.")
|
||||
return {'CANCELLED'}
|
||||
for obj in context.selected_objects:
|
||||
obj.parent = parent_obj
|
||||
self.report({'INFO'}, f"Parent set to '{self.parent_object_name}' for selected objects.")
|
||||
return {'FINISHED'}
|
||||
|
||||
def invoke(self, context, event):
|
||||
return context.window_manager.invoke_props_dialog(self)
|
||||
|
||||
|
||||
class LancerEditHelpersPanel(bpy.types.Panel):
|
||||
bl_label = "LancerEdit Model Utility Plugin"
|
||||
@@ -242,6 +281,10 @@ class LancerEditHelpersPanel(bpy.types.Panel):
|
||||
layout.prop(scene, "child_object_new_name")
|
||||
# Button for Convert to Hull
|
||||
layout.operator("object.rename_selected_child")
|
||||
layout.separator()
|
||||
layout.operator("object.remove_hull_material")
|
||||
layout.separator()
|
||||
layout.operator("object.add_parent_component")
|
||||
|
||||
|
||||
def register():
|
||||
@@ -249,6 +292,8 @@ def register():
|
||||
bpy.utils.register_class(RenameObjectsAndMeshesOperator)
|
||||
bpy.utils.register_class(RenameChildObjectOperator)
|
||||
bpy.utils.register_class(OBJECT_OT_create_convex)
|
||||
bpy.utils.register_class(OBJECT_OT_remove_hull_material)
|
||||
bpy.utils.register_class(OBJECT_OT_add_parent_component)
|
||||
|
||||
bpy.types.Scene.object_names = bpy.props.StringProperty(
|
||||
name="Parent Name",
|
||||
@@ -271,10 +316,13 @@ def unregister():
|
||||
bpy.utils.unregister_class(RenameObjectsAndMeshesOperator)
|
||||
bpy.utils.unregister_class(RenameChildObjectOperator)
|
||||
bpy.utils.unregister_class(OBJECT_OT_create_convex)
|
||||
bpy.utils.unregister_class(OBJECT_OT_remove_hull_material)
|
||||
bpy.utils.register_class(OBJECT_OT_add_parent_component)
|
||||
del bpy.types.Scene.object_names
|
||||
del bpy.types.Scene.new_name
|
||||
del bpy.types.Scene.child_object_new_name
|
||||
|
||||
|
||||
|
||||
if __name__ == "__main__":
|
||||
register()
|
||||
Reference in New Issue
Block a user