compatibility update for blender4
This commit is contained in:
+26
-8
@@ -106,7 +106,10 @@ def connect_render_layer(rlayer, ng=None, out=None, frame=None):
|
||||
if not rlayer.outputs['Image'].is_linked:
|
||||
sockin = ng.inputs.get(vl_name)
|
||||
if not sockin:
|
||||
sockin = ng.node_tree.inputs.new('NodeSocketColor', vl_name)
|
||||
if bpy.app.version < (4,0,0):
|
||||
sockin = ng.node_tree.inputs.new('NodeSocketColor', vl_name)
|
||||
else:
|
||||
sockin = ng.node_tree.interface.new_socket(vl_name, in_out='INPUT', socket_type='NodeSocketColor')
|
||||
sockin = ng.inputs[-1]
|
||||
|
||||
links.new(rlayer.outputs['Image'], sockin)
|
||||
@@ -119,7 +122,10 @@ def connect_render_layer(rlayer, ng=None, out=None, frame=None):
|
||||
if not s.is_linked: # and not any(x.layer == s.name for x in rl_nodes)
|
||||
print(f'removing grp unlinked input {s.name}')
|
||||
# ng.inputs.remove(s)
|
||||
ng.node_tree.inputs.remove(s)
|
||||
if bpy.app.version < (4,0,0):
|
||||
ng.node_tree.inputs.remove(s)
|
||||
else:
|
||||
ng.node_tree.interface.items_tree.remove(s)
|
||||
|
||||
## get nodes from linked NG inputs ??? maybe more clear...
|
||||
# rl_nodes = [s.links[0].from_node for s in ng.inputs if s.links and s.links[0].from_node and s.links[0].from_node.type == 'R_LAYERS']
|
||||
@@ -145,7 +151,11 @@ def connect_render_layer(rlayer, ng=None, out=None, frame=None):
|
||||
aa = fn.create_aa_nodegroup(ngroup)# fn.new_aa_node(ngroup)
|
||||
groupout = ng.outputs.get(vl_name)
|
||||
if not groupout:
|
||||
ng.node_tree.outputs.new('NodeSocketColor', vl_name) # assigning direcly doesn't link well
|
||||
if bpy.app.version < (4,0,0):
|
||||
ng.node_tree.outputs.new('NodeSocketColor', vl_name) # assigning direcly doesn't link well
|
||||
else:
|
||||
ng.node_tree.interface.new_socket(vl_name, in_out='OUTPUT', socket_type='NodeSocketColor')
|
||||
|
||||
groupout = ng.outputs[-1]
|
||||
|
||||
# print('ng_out.inputs.get(vl_name): ', ng_out.inputs.get(vl_name))
|
||||
@@ -158,11 +168,19 @@ def connect_render_layer(rlayer, ng=None, out=None, frame=None):
|
||||
|
||||
fn.reorganise_NG_nodegroup(ng) # decorative
|
||||
|
||||
# clean outputs
|
||||
for o in reversed(ngroup.outputs):
|
||||
if not o.name in [o.name for o in ngroup.inputs]:
|
||||
print(f'removing group output {o.name} (name not exists in group inputs)')
|
||||
ngroup.outputs.remove(o)
|
||||
# Clean outputs
|
||||
if bpy.app.version < (4,0,0):
|
||||
for o in reversed(ngroup.outputs):
|
||||
if not o.name in [o.name for o in ngroup.inputs]:
|
||||
print(f'removing group output {o.name} (name not exists in group inputs)')
|
||||
ngroup.outputs.remove(o)
|
||||
else:
|
||||
n_outputs = [s for s in ngroup.interface.items_tree if s.in_out == 'OUTPUT']
|
||||
n_inputs = [s for s in ngroup.interface.items_tree if s.in_out == 'INPUT']
|
||||
for o in reversed(n_outputs):
|
||||
if not o.name in [o.name for o in n_inputs]:
|
||||
print(f'Removing group output {o.name} (name not exists in group inputs)')
|
||||
ngroup.interface.remove(o)
|
||||
|
||||
ng.update()
|
||||
# reorder output to match inputs
|
||||
|
||||
Reference in New Issue
Block a user