Add pattern for layer group merge and check layer in autobuild

1.8.1

- added: `Reset Layer State` (Check layer) in Autobuild
- added: environment variable `GP_RENDER_LAYER_GROUP_PATTERN` for layer merging regex pattern
This commit is contained in:
pullusb
2024-09-04 15:46:15 +02:00
parent fe3f0ae869
commit aefc84fd7a
5 changed files with 22 additions and 6 deletions
+9 -1
View File
@@ -88,7 +88,7 @@ class GPEXP_OT_render_auto_build(bpy.types.Operator):
description='Clean material stack. i.e: Replace "mat.001" in material stack if "mat" exists and has same color')
prefix_filter : StringProperty(name='Prefix Filter', default='CO, CU, FX, TO', # , MA # exclude MA if mask are applied
description='Comma separated prefix to render. Set the other prefix and non-prefixed layer to exluded viewlayer')
description='Comma separated prefix to render, Layer with those prefix will be made visible')
set_layers_colors : BoolProperty(name='Set Layers Colors', default=True,
description='Set colors for on layers according to prefix (hadrcoded color set)')
@@ -102,6 +102,9 @@ class GPEXP_OT_render_auto_build(bpy.types.Operator):
export_layer_infos : BoolProperty(name='Export Layer Infos', default=True,
description='Export layers infos to a Json file')
reset_layers_state : BoolProperty(name='Reset Layer State', default=True,
description='Set layer opacity to 100%, Disable use light on all layer, set regular blend mode, hide invisible')
group_all_adjacent_layer_type : BoolProperty(name='Group All Adjacent Layer Type', default=False,
description='Fuse output Viewlayer according to adjacent Prefix in layer stack')
@@ -150,6 +153,7 @@ class GPEXP_OT_render_auto_build(bpy.types.Operator):
col.prop(self, 'trigger_rename_lowercase')
col.prop(self, 'trigger_renumber_by_distance')
col.prop(self, 'export_layer_infos')
col.prop(self, 'reset_layers_state')
col.label(text='Send prefixed layer to render scene (except excluded)')
col.prop(self, 'excluded_prefix', text='Excluded')
@@ -246,6 +250,10 @@ class GPEXP_OT_render_auto_build(bpy.types.Operator):
print('Export layer infos (skip if json already exists)')
bpy.ops.gp.export_infos_for_compo('INVOKE_DEFAULT', skip_check=True)
## Reset layer states -> 100% opacity (except mask layer 'MA' by default), remove use light, set default blend mode, hide material named "invisible".
if self.reset_layers_state:
bpy.ops.gp.layers_state()
## Set GP object data to single user (Individual viewlayers)
if self.make_gp_single_user:
for o in ob_list: