[ADDON] Material IO + Material Library

Hey guys, I have been working for the past few weeks on an addon that allows you to export and import Blender material node trees. It saves the materials out into a .bmat file which is XML based, I also made it so that the file is easy to read, for the most part. It has the ability to pack all the images in the material into a folder along with the main file so that it all can be moved easily. Let me know of any bugs that you find, you can find more info about it on my website.

DEPRECIATED: features have been moved to NodeIO

Download Link

Current Version: 1.3

#Update 1.3:
Fixed some more issues with certain nodes.
Cleaned up code and got rid of a fair bit by switching part of it to a recursive type meaning that now things can be grouped infinitely.

If you want to report a bug, either do it here, or submit it to me on my website.

#Update
I just posted the material library, there isn’t a ton on there yet, but I will add some of my own stuff and feel free to submit as many as you would like. Here is the link to the material library.

Hi, this is very interesting. It competes however a little bit with the Append/Link function, what I would call a “big win” is to iterate all of the items in the destination directory and be able to add them at once, something like a material library.

Thanks for making it. :slight_smile:

I love the idea of iterating through the folder, I will work on that. I does compete with append, but it much less clunky, uses a smaller file, and is overall quicker to use.

Very good work Jacob, I love this idea.
i propose you to bzip this folder with .bmt extension to reduce the weight of mat+ xml file and to exchange it easely like others CAD software.
So you have create the first mat of Blender easy to exchange.
Congratulations.

For your information: name your python file like this: io_material.py , please.

not sure what exactly you mean by using the .bmt format, but I will work on making it zip the folder when there are images. I also updated the name like you suggest on the file.

What I mean is the same as .kmz format for Geo model in google earth: this format content images and .skp file, all bzipped in .kmz format.
In Cinema4D and Modo the material format is the same.
Voilà!

I have been playing around on zipping the folder and it really doesn’t save that much room, on a 73 mb file only 3 mb is save. I am going to look into some different methods before I continue.

Ok good research…

Version 0.2 is out, check out my website for a complete list of what all is new plus other stuff.

This seems very useful. Perhaps it can become a standard for sharing materials across repositories too.

Thanks, I have started working on a repository use this which I hope to release soon.

Version 0.3 is out, now with support for Frames, plus several bug fixes with some of the node inputs and outputs.

Version 0.4 is out and RGB and Vector curves are now supported! I was sure if it was possible, but it ended up being.

Very useful, thank you!

No problem!

Version 0.5 is out, you can check out the info in my first post. I was thinking about how the .bmat files would have to be updated with each version I have been releasing. So from now on, I will make the add-on work with an .bmat created started using version 0.5. Sorry for the inconvenience of having to update your .bmat files.

Version 0.6 is out, check out my first post to see what all has been changed

Thanks a lot Jacob…At soon.
Bye.

I just posted a link to the material library I started