fix crop json export and add extra ui
0.6.6 - fix: problem when creating Json - ui: add gp render extras panel in scene prop (closed by default)main
parent
d080a9cefa
commit
b587794ac5
|
@ -14,6 +14,10 @@ Activate / deactivate layer opaticty according to prefix
|
||||||
Activate / deactivate all masks using MA layers
|
Activate / deactivate all masks using MA layers
|
||||||
-->
|
-->
|
||||||
|
|
||||||
|
0.6.6
|
||||||
|
|
||||||
|
- fix: problem when creating Json
|
||||||
|
- ui: add gp render extras panel in scene prop (closed by default)
|
||||||
|
|
||||||
0.6.5
|
0.6.5
|
||||||
|
|
||||||
|
|
|
@ -80,6 +80,7 @@ def export_AE_objects_position_keys():
|
||||||
|
|
||||||
blend = Path(bpy.data.filepath)
|
blend = Path(bpy.data.filepath)
|
||||||
keyfile = blend.parent / 'render' / f'pos_{name}.txt'
|
keyfile = blend.parent / 'render' / f'pos_{name}.txt'
|
||||||
|
keyfile.parent.mkdir(parents=False, exist_ok=True)
|
||||||
|
|
||||||
print(f'exporting keys for {name}')
|
print(f'exporting keys for {name}')
|
||||||
with open(keyfile, 'w') as fd:
|
with open(keyfile, 'w') as fd:
|
||||||
|
@ -179,27 +180,49 @@ class GPEXP_OT_fix_overscan_shift(bpy.types.Operator):
|
||||||
return {"FINISHED"}
|
return {"FINISHED"}
|
||||||
|
|
||||||
|
|
||||||
def overcan_shift_fix_ui(self, context):
|
# ui panel
|
||||||
layout = self.layout
|
class GPEXP_PT_extra_gprender_func(bpy.types.Panel):
|
||||||
layout.operator("gp.fix_overscan_shift")
|
bl_space_type = 'PROPERTIES'
|
||||||
|
bl_region_type = 'WINDOW'
|
||||||
|
bl_context = "output"
|
||||||
|
bl_label = "GP Render Extras"
|
||||||
|
bl_parent_id = "RENDER_PT_format" if (3, 0, 0) <= bpy.app.version else "RENDER_PT_dimensions"
|
||||||
|
bl_options = {'DEFAULT_CLOSED'}
|
||||||
|
# COMPAT_ENGINES = {'CYCLES', 'BLENDER_EEVEE', 'BLENDER_WORKBENCH'}
|
||||||
|
|
||||||
|
# def draw_header(self, context):
|
||||||
|
# overscan = context.scene.camera_overscan
|
||||||
|
# self.layout.prop(overscan, "RO_Activate", text="")
|
||||||
|
|
||||||
|
def draw(self, context):
|
||||||
|
layout = self.layout
|
||||||
|
layout.operator("gp.fix_overscan_shift")
|
||||||
|
layout.operator("gp.export_keys_to_ae")
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
# def overcan_shift_fix_ui(self, context):
|
||||||
|
# layout = self.layout
|
||||||
|
# layout.operator("gp.fix_overscan_shift")
|
||||||
|
|
||||||
|
|
||||||
classes=(
|
classes=(
|
||||||
GPEXP_OT_export_keys_to_ae,
|
GPEXP_OT_export_keys_to_ae,
|
||||||
GPEXP_OT_fix_overscan_shift,
|
GPEXP_OT_fix_overscan_shift,
|
||||||
|
GPEXP_PT_extra_gprender_func
|
||||||
)
|
)
|
||||||
|
|
||||||
def register():
|
def register():
|
||||||
for cls in classes:
|
for cls in classes:
|
||||||
bpy.utils.register_class(cls)
|
bpy.utils.register_class(cls)
|
||||||
|
|
||||||
if hasattr(bpy.types, 'RENDER_PT_overscan'):
|
# if hasattr(bpy.types, 'RENDER_PT_overscan'):
|
||||||
bpy.types.RENDER_PT_overscan.append(overcan_shift_fix_ui)
|
# bpy.types.RENDER_PT_overscan.append(overcan_shift_fix_ui)
|
||||||
|
|
||||||
|
|
||||||
def unregister():
|
def unregister():
|
||||||
if hasattr(bpy.types, 'RENDER_PT_overscan'):
|
# if hasattr(bpy.types, 'RENDER_PT_overscan'):
|
||||||
bpy.types.RENDER_PT_overscan.remove(overcan_shift_fix_ui)
|
# bpy.types.RENDER_PT_overscan.remove(overcan_shift_fix_ui)
|
||||||
|
|
||||||
for cls in reversed(classes):
|
for cls in reversed(classes):
|
||||||
bpy.utils.unregister_class(cls)
|
bpy.utils.unregister_class(cls)
|
||||||
|
|
|
@ -2,7 +2,7 @@ bl_info = {
|
||||||
"name": "GP Render",
|
"name": "GP Render",
|
||||||
"description": "Organise export of gp layers through compositor output",
|
"description": "Organise export of gp layers through compositor output",
|
||||||
"author": "Samuel Bernou",
|
"author": "Samuel Bernou",
|
||||||
"version": (0, 6, 5),
|
"version": (0, 6, 6),
|
||||||
"blender": (2, 93, 0),
|
"blender": (2, 93, 0),
|
||||||
"location": "View3D",
|
"location": "View3D",
|
||||||
"warning": "",
|
"warning": "",
|
||||||
|
|
2
fn.py
2
fn.py
|
@ -813,6 +813,7 @@ def export_crop_to_json():
|
||||||
|
|
||||||
blend = Path(bpy.data.filepath)
|
blend = Path(bpy.data.filepath)
|
||||||
json_path = blend.parent / 'render' / f'{blend.stem}.json' #f'{ob.name}.json'
|
json_path = blend.parent / 'render' / f'{blend.stem}.json' #f'{ob.name}.json'
|
||||||
|
|
||||||
|
|
||||||
## per scene : json_path = Path(bpy.data.filepath).parent / 'render' / f'{scn.name}.json'
|
## per scene : json_path = Path(bpy.data.filepath).parent / 'render' / f'{scn.name}.json'
|
||||||
# json_path = Path(bpy.data.filepath).parent / 'render' / f'{scn.name}.json' #f'{ob.name}.json'
|
# json_path = Path(bpy.data.filepath).parent / 'render' / f'{scn.name}.json' #f'{ob.name}.json'
|
||||||
|
@ -829,6 +830,7 @@ def export_crop_to_json():
|
||||||
coord_dic[ob.name] = scn_border
|
coord_dic[ob.name] = scn_border
|
||||||
|
|
||||||
if coord_dic:
|
if coord_dic:
|
||||||
|
json_path.parent.mkdir(parents=False, exist_ok=True)
|
||||||
# save bbox
|
# save bbox
|
||||||
with json_path.open('w') as fd:
|
with json_path.open('w') as fd:
|
||||||
json.dump(coord_dic, fd, indent='\t')
|
json.dump(coord_dic, fd, indent='\t')
|
||||||
|
|
Loading…
Reference in New Issue