Add templates options for fileoutput

1.7.3

- added: Optional string templates for fileoutputs
  - add `base_path, file_slot, layer_slot` arguments to operators
  - possible keywords are as follow:
    - '{object}' : Set object name
    - '{gplayer}' : Set Gp layer name
  - Default template when not passed:
    base_path = `//render/{object}`
    (for multilayer exr, default to `//render/{object}/{object}_`)
    file_slot = `{gplayer}/{gplayer}_`
    layer_slot = `{gplayer}`
This commit is contained in:
pullusb
2024-04-22 11:59:30 +02:00
parent de66ed85ba
commit 7fa914e438
5 changed files with 128 additions and 75 deletions
+7 -1
View File
@@ -118,6 +118,11 @@ class GPEXP_OT_render_auto_build(bpy.types.Operator):
add_preview : BoolProperty(name='Add Preview', default=True,
description='Create preview with stacked alpha over on render layers')
# File output templates
base_path : bpy.props.StringProperty(name='Base Path', default='', options={'SKIP_SAVE'})
file_slot : bpy.props.StringProperty(name='File Slot', default='', options={'SKIP_SAVE'})
layer_slot : bpy.props.StringProperty(name='Layer Slot', default='', options={'SKIP_SAVE'})
def invoke(self, context, event):
# return self.execute(context)
return context.window_manager.invoke_props_dialog(self)
@@ -241,7 +246,8 @@ class GPEXP_OT_render_auto_build(bpy.types.Operator):
## Send all GP to render scene
print('Send all GP to render scene (Create render scene if needed)')
# bpy.ops.gp.add_object_to_render(mode="ALL") # Ops to send all
gen_vlayer.export_gp_objects(ob_list, exclude_list=self.excluded_prefix, scene=render_scn, node_scene=node_scene) # Create render scene OTF
gen_vlayer.export_gp_objects(ob_list, exclude_list=self.excluded_prefix, scene=render_scn, node_scene=node_scene,
base_path=self.base_path, file_slot=self.file_slot, layer_slot=self.layer_slot) # Create render scene OTF
## Switch to new Render Scene
print('Switch to new Render Scene')