Brushstroke Tools: Initial Version #328
Binary file not shown.
@ -132,6 +132,29 @@ def draw_material_settings(layout, material):
|
||||
layout.prop(material.node_tree.nodes['Principled BSDF'].inputs[1], 'default_value', text='Metallic')
|
||||
layout.prop(material.node_tree.nodes['Principled BSDF'].inputs[2], 'default_value', text='Roughness')
|
||||
|
||||
effects_header, effects_panel = layout.panel('effects_panel', default_closed = True)
|
||||
effects_header.label(text='Effects', icon='SHADERFX')
|
||||
if effects_panel:
|
||||
draw_effect_panel_recursive(effects_panel, material, material.node_tree.nodes['Effects In'])
|
||||
|
||||
def draw_effect_panel_recursive(effects_panel, material, prev_node):
|
||||
if not prev_node:
|
||||
return
|
||||
if not prev_node.outputs[0].links:
|
||||
return
|
||||
node = prev_node.outputs[0].links[0].to_node
|
||||
if node.name == 'Effects Out':
|
||||
return
|
||||
header, panel = effects_panel.panel(f'{node.name}_panel', default_closed = True)
|
||||
header.alignment = 'LEFT'
|
||||
header.prop(node, 'mute', invert_checkbox=True, icon_only=True)
|
||||
header.label(text=node.label if node.label else node.name)
|
||||
if panel:
|
||||
for input in node.inputs[1:]:
|
||||
panel.prop(input, 'default_value', text=input.name)
|
||||
|
||||
draw_effect_panel_recursive(effects_panel, material, node)
|
||||
|
||||
class BSBST_UL_brushstroke_objects(bpy.types.UIList):
|
||||
def draw_item(self, context, layout, data, item, icon, active_data, active_propname):
|
||||
settings = data
|
||||
|
Loading…
Reference in New Issue
Block a user