I made an addon that will speed up node editing workflow.
Since this addon just work on top of builtin node group node, you can use with your existing node group library.
I originally made this as a part of my working paid workflow addon, but I thought this kind of basic functionality is better to used by more people than limited amount of advanced paid users.
How it works:
Edit images inside node group
Shader / Compositor / Texture
Replace images by:
Original: Keep original images
Single Image : Replace all images by single image
Individual: Replace images one by one
Turn on / off preview of images
Edit node sockets
Shader / Compositor / Texture
Change socket type
Edit original node tree’s sockets(affect all nodes that sharing the same node tree)
Edit individual node’s sockets(affect only one node, less socket type options)
Remove / Reorder node sockets
Change will affect all nodes sharing the same node tree
Dynamic Node
Shader / Compositor
All functionality above with node embedded image override ui
Switch between node group through button in the Dynamic Node panel, or NodeWrangler’s Switch type (Shift + S) if NodeWrangler is enabled
From Dynamic Node panel, you can convert all Dynamic nodes in the file to node groups. This is useful when you upload file to render farm or sharing file with others.
In some particular cases, user count of images that are overridden by single image are miscalculated.(image field turns red)
For now, to safely prevent this from happening, when you override images by single image mode, just change the image override type to ‘Original’ or ‘Individual’.
If you face this issue, manually reassign images or save, close and reopen the project should fix the problem.
May be this is blender side bug related to updating the value at PointerProperty update callback function, or I just miss something, but I couldn’t figure out what causes this problem.
If you know how to fix this. Help is really welcomed.
Step to reproduce:
1, Set Image override type to ‘Single Image’ and iset image whatever you want.
Awesome stuff, always wanted the texture input to be added into the custom node like this, any chance of allowing it to be tied to different materials without having the need to save multiple copies of custom nodes?
Thank you for feedback!
Do you mean convert every Node group nodes that shares same node group into Dynamic nodes?
If so, that will be easy fix. I already have convert all Dynamic nodes -> Node group nodes function, I can just do opposite.