Add Remove Material Button
This commit is contained in:
@@ -1,7 +1,7 @@
|
|||||||
bl_info = {
|
bl_info = {
|
||||||
"name": "LancerEdit Model Utility Plugin",
|
"name": "LancerEdit Model Utility Plugin",
|
||||||
"author": "Darklighter",
|
"author": "Darklighter",
|
||||||
"version": (0, 0, 1),
|
"version": (0, 0, 2),
|
||||||
"blender": (4, 5, 3),
|
"blender": (4, 5, 3),
|
||||||
"location": "3D-Viewport > Sidebar > FLLancerEdit Utility",
|
"location": "3D-Viewport > Sidebar > FLLancerEdit Utility",
|
||||||
"description": "Non-offical LancerEdit Model Utility Plugin for PC-Game Freelancer",
|
"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")
|
self.report({'INFO'}, "Selected child objects renamed successfully")
|
||||||
return {'FINISHED'}
|
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):
|
class OBJECT_OT_create_convex(bpy.types.Operator):
|
||||||
bl_idname = "object.create_convex"
|
bl_idname = "object.create_convex"
|
||||||
bl_label = "Create Convex"
|
bl_label = "Create Convex"
|
||||||
@@ -212,6 +227,30 @@ class OBJECT_OT_create_convex(bpy.types.Operator):
|
|||||||
self.report({'INFO'}, "Convex hull created")
|
self.report({'INFO'}, "Convex hull created")
|
||||||
return {'FINISHED'}
|
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):
|
class LancerEditHelpersPanel(bpy.types.Panel):
|
||||||
bl_label = "LancerEdit Model Utility Plugin"
|
bl_label = "LancerEdit Model Utility Plugin"
|
||||||
@@ -242,6 +281,10 @@ class LancerEditHelpersPanel(bpy.types.Panel):
|
|||||||
layout.prop(scene, "child_object_new_name")
|
layout.prop(scene, "child_object_new_name")
|
||||||
# Button for Convert to Hull
|
# Button for Convert to Hull
|
||||||
layout.operator("object.rename_selected_child")
|
layout.operator("object.rename_selected_child")
|
||||||
|
layout.separator()
|
||||||
|
layout.operator("object.remove_hull_material")
|
||||||
|
layout.separator()
|
||||||
|
layout.operator("object.add_parent_component")
|
||||||
|
|
||||||
|
|
||||||
def register():
|
def register():
|
||||||
@@ -249,6 +292,8 @@ def register():
|
|||||||
bpy.utils.register_class(RenameObjectsAndMeshesOperator)
|
bpy.utils.register_class(RenameObjectsAndMeshesOperator)
|
||||||
bpy.utils.register_class(RenameChildObjectOperator)
|
bpy.utils.register_class(RenameChildObjectOperator)
|
||||||
bpy.utils.register_class(OBJECT_OT_create_convex)
|
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(
|
bpy.types.Scene.object_names = bpy.props.StringProperty(
|
||||||
name="Parent Name",
|
name="Parent Name",
|
||||||
@@ -271,10 +316,13 @@ def unregister():
|
|||||||
bpy.utils.unregister_class(RenameObjectsAndMeshesOperator)
|
bpy.utils.unregister_class(RenameObjectsAndMeshesOperator)
|
||||||
bpy.utils.unregister_class(RenameChildObjectOperator)
|
bpy.utils.unregister_class(RenameChildObjectOperator)
|
||||||
bpy.utils.unregister_class(OBJECT_OT_create_convex)
|
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.object_names
|
||||||
del bpy.types.Scene.new_name
|
del bpy.types.Scene.new_name
|
||||||
del bpy.types.Scene.child_object_new_name
|
del bpy.types.Scene.child_object_new_name
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
if __name__ == "__main__":
|
if __name__ == "__main__":
|
||||||
register()
|
register()
|
||||||
Reference in New Issue
Block a user