copy paste : make baking optional, still default
3.3.5 - added: copy paste option to copy only existing frame without baking the whole move
This commit is contained in:
parent
5aeb21342a
commit
462a013d98
@ -1,5 +1,9 @@
|
|||||||
# Changelog
|
# Changelog
|
||||||
|
|
||||||
|
3.3.5
|
||||||
|
|
||||||
|
- added: copy paste option to copy only existing frame without baking the whole move
|
||||||
|
|
||||||
3.3.4
|
3.3.4
|
||||||
|
|
||||||
- fixed: Error when trying to load addon in 4.3.0+ (prevent loading without error, print about incompatibility in console)
|
- fixed: Error when trying to load addon in 4.3.0+ (prevent loading without error, print about incompatibility in console)
|
||||||
|
@ -512,6 +512,9 @@ class GPCLIP_OT_copy_multi_strokes(bpy.types.Operator):
|
|||||||
def poll(cls, context):
|
def poll(cls, context):
|
||||||
return context.object and context.object.type == 'GPENCIL'
|
return context.object and context.object.type == 'GPENCIL'
|
||||||
|
|
||||||
|
bake_moves : bpy.props.BoolProperty(name='Bake Move', default=True,
|
||||||
|
description='Copy every frame where object has moved, else copy only existing frames)')
|
||||||
|
|
||||||
pressure : bpy.props.BoolProperty(name='pressure', default=True,
|
pressure : bpy.props.BoolProperty(name='pressure', default=True,
|
||||||
description='Dump point pressure attribute (already skipped if at default value)')
|
description='Dump point pressure attribute (already skipped if at default value)')
|
||||||
strength : bpy.props.BoolProperty(name='strength', default=True,
|
strength : bpy.props.BoolProperty(name='strength', default=True,
|
||||||
@ -534,6 +537,7 @@ class GPCLIP_OT_copy_multi_strokes(bpy.types.Operator):
|
|||||||
layout=self.layout
|
layout=self.layout
|
||||||
layout.use_property_split = True
|
layout.use_property_split = True
|
||||||
col = layout.column()
|
col = layout.column()
|
||||||
|
col.prop(self, 'bake_moves')
|
||||||
col.label(text='Keep following point attributes:')
|
col.label(text='Keep following point attributes:')
|
||||||
col.prop(self, 'pressure')
|
col.prop(self, 'pressure')
|
||||||
col.prop(self, 'strength')
|
col.prop(self, 'strength')
|
||||||
@ -544,7 +548,6 @@ class GPCLIP_OT_copy_multi_strokes(bpy.types.Operator):
|
|||||||
return
|
return
|
||||||
|
|
||||||
def execute(self, context):
|
def execute(self, context):
|
||||||
bake_moves = True
|
|
||||||
skip_empty_frame = False
|
skip_empty_frame = False
|
||||||
|
|
||||||
org_frame = context.scene.frame_current
|
org_frame = context.scene.frame_current
|
||||||
@ -559,7 +562,7 @@ class GPCLIP_OT_copy_multi_strokes(bpy.types.Operator):
|
|||||||
self.report({'ERROR'}, 'No layers selected in GP dopesheet (needs to be visible and selected to be copied)\nHint: Changing active layer reset selection to active only')
|
self.report({'ERROR'}, 'No layers selected in GP dopesheet (needs to be visible and selected to be copied)\nHint: Changing active layer reset selection to active only')
|
||||||
return {"CANCELLED"}
|
return {"CANCELLED"}
|
||||||
|
|
||||||
if not bake_moves: # copy only drawed frames as is.
|
if not self.bake_moves: # copy only drawed frames as is.
|
||||||
for l in layerpool:
|
for l in layerpool:
|
||||||
if not l.frames:
|
if not l.frames:
|
||||||
continue# skip empty layers
|
continue# skip empty layers
|
||||||
|
@ -4,7 +4,7 @@ bl_info = {
|
|||||||
"name": "GP toolbox",
|
"name": "GP toolbox",
|
||||||
"description": "Tool set for Grease Pencil in animation production",
|
"description": "Tool set for Grease Pencil in animation production",
|
||||||
"author": "Samuel Bernou, Christophe Seux",
|
"author": "Samuel Bernou, Christophe Seux",
|
||||||
"version": (3, 3, 4),
|
"version": (3, 3, 5),
|
||||||
"blender": (4, 0, 0),
|
"blender": (4, 0, 0),
|
||||||
"location": "Sidebar (N menu) > Gpencil > Toolbox / Gpencil properties",
|
"location": "Sidebar (N menu) > Gpencil > Toolbox / Gpencil properties",
|
||||||
"warning": "",
|
"warning": "",
|
||||||
|
Loading…
x
Reference in New Issue
Block a user