Introduce Surface Creation Kit
This commit is contained in:
@@ -66,8 +66,8 @@ class RenameObjectsAndMeshesOperator(bpy.types.Operator):
|
||||
|
||||
class RenameChildObjectOperator(bpy.types.Operator):
|
||||
bl_idname = "object.rename_selected_child"
|
||||
bl_label = "Rename Selected Child (Hulls/Sur) Objects"
|
||||
bl_description = "Rename the mesh data of the selected child object and assign a new suffix, filling gaps"
|
||||
bl_label = "Convert to Hulls/Sur Objects"
|
||||
bl_description = "Select Child Objects and assign to hull suffix"
|
||||
|
||||
def execute(self, context):
|
||||
scene = context.scene
|
||||
@@ -95,7 +95,7 @@ class RenameChildObjectOperator(bpy.types.Operator):
|
||||
used_suffixes = sorted(set(used_suffixes))
|
||||
suffixes_to_use = []
|
||||
|
||||
# Fill in gaps starting from 1
|
||||
# Fill in gaps starting from 0
|
||||
expected_suffix = 0
|
||||
for suffix in used_suffixes:
|
||||
while expected_suffix < suffix:
|
||||
@@ -103,6 +103,28 @@ class RenameChildObjectOperator(bpy.types.Operator):
|
||||
expected_suffix += 1
|
||||
expected_suffix = suffix + 1
|
||||
|
||||
# Prepare the special material
|
||||
material_name = "material_0x00000000"
|
||||
material = bpy.data.materials.get(material_name)
|
||||
if material is None:
|
||||
material = bpy.data.materials.new(name=material_name)
|
||||
# Set viewport display color
|
||||
material.diffuse_color = (1.0, 0.0, 0.0, 0.5) # RGBA
|
||||
# For newer Blender versions, ensure the viewport display color is set
|
||||
if hasattr(material, 'viewport_color'):
|
||||
material.viewport_color = (1.0, 0.0, 0.0)
|
||||
# Set material display options
|
||||
material.blend_method = 'BLEND' # ensure transparency is visible
|
||||
# For Eevee, ensure transparency is enabled
|
||||
# (optional, depending on your render engine)
|
||||
|
||||
# Assign the material to each selected child object
|
||||
for obj in selected_children:
|
||||
# Assign the material
|
||||
if obj.type == 'MESH':
|
||||
if material.name not in [mat.name for mat in obj.data.materials]:
|
||||
obj.data.materials.append(material)
|
||||
|
||||
# Now, assign suffixes:
|
||||
suffix_index = 0
|
||||
|
||||
@@ -158,7 +180,7 @@ class LancerEditHelpersPanel(bpy.types.Panel):
|
||||
|
||||
# Section for renaming selected child object
|
||||
layout.separator()
|
||||
layout.label(text="Rename Selected Child (Hulls/Sur) Objects")
|
||||
layout.label(text="Surface Creation Kit")
|
||||
layout.prop(scene, "child_object_new_name")
|
||||
layout.operator("object.rename_selected_child")
|
||||
|
||||
@@ -179,7 +201,7 @@ def register():
|
||||
default=""
|
||||
)
|
||||
bpy.types.Scene.child_object_new_name = bpy.props.StringProperty(
|
||||
name="Change Name",
|
||||
name="Sur Name",
|
||||
description="New name for the selected child object",
|
||||
default=""
|
||||
)
|
||||
|
||||
Reference in New Issue
Block a user