Simple Material Sharing with Copy and Paste
Hey,
Whenever I search for tips on how to create a material for my objects, I often end up having to zoom in on an image showing the nodes that constitute the material.
Maybe I'm missing this, as I haven't used Blender for a very long time, but it doesn't seem possible to copy nodes in the Shader Editor and paste into a web page textfield or email..
What I would love to see—unless it is already hidden somewhere in Blender—is support for pasting copied nodes, including their settings and noodles(?) as text.
I feel that would result in more material sharing, and make it a lot easier to workshop and collaborate on making materials.
Johan
PS: Why call it "Shader Editor" when the end node is called "Material Output"? Material Editor would maybe be more consistent—or am I missing something?
6 Comments
This is a really good idea. I sincerely do not understand why there is no functionality in Blender for storing and transferring created materials. This functionality suggests itself and should be present in such software. All the "life hacks" about storing materials in different .blend files look like a ridiculous, cumbersome and inconvenient temporary solution. Come on! :D
This could also be implemented with a URL. Click a button to send a block of JSON for a material (or any data block!) to a server and get a URL. Give that URL to anyone, and they paste it into a field in Blender and boom, the data block is imported. No loose files, no appending and navigating through the innards of a .blend file. Just paste a URL, and you're in business.
Update: I just discovered that this idea has been submitted before, and got a good number of upvotes: blender.community/c/rightclickselect/gQfbbc
I have created an add-on that copies active material, or only selected nodes, as JSON. And you can also paste the JSON from your clipboard. Making it easy to share materials (textually):
github.com/Gatada/JB-MaterialSharing
Seems to work for all materials I have tested. Let me know in GitHub if you have issues.
you can add that material to a cube and share that cube blendfile. Thats how i have all my materials in all my pcs.
what would the file format be for them?
Just plain text python code or some json-like or xml-like data structure.