I've messed around with Substance Designer in the past. I must say, MM is excellent! Minus a few nodes, you can follow SD tutorials pretty well with this. Wonderful job! Looking forward to the next update!
A downloadable tool for Windows, macOS, and Linux
Material Maker is a procedural materials authoring and 3D model painting tool, based on the Godot Engine. Materials and brushes are defined as graphs where nodes create or transform textures, and can be exported for the Godot, Unity and Unreal game engines.
Most nodes are defined as GLSL shaders, and when connecting them, Material Maker will generate combined shaders (instead of rendering an image for each node). It is also possible to create new nodes either by combining and grouping existing nodes, or by writing your own GLSL shaders.
Material Maker is available for Windows, Linux and MacOS.
If you are on a Mac, the install will require extra steps described in that devlog (because the application is not signed). If you followed those steps and still cannot run Material Maker, please don't hesitate to contact me so I can help you fix the problem.
You can also share the awesome materials you created on the Material Maker website.
Materials you can create
Material Maker can be used to create several types of materials, and new custom material types, as well as new export targets for existing materials, can be added if needed.
- Static PBR material: this is the most common material type, and exporting it will generate a few textures (albedo, metalness, roughness etc.) you can import in your favorite game engine
- Dynamic PBR material: a PBR material with motion, that will be exported as a shader (and optional textures).
- Raymarching material: a raymarching scene inside the mesh it is applied to, exported as a shader.
- Dynamic unlit materials are also exported as shaders and can be used to create all sorts of VFX.
Features as of version 1.0
- A simple texture generation engine that defines a very small set of node types (shaders, buffers, node groups, image, text, switch...) that can be connected to describe procedural textures. The engine does not generate an image for each node, but combines shaders until it reaches a buffer node or the target Material node (textures described as combined shaders are resolution independent).
- A painting engine that can paint albedo, roughness, metallic, emission, normal map, depth and ambient occlusion components of a 3D object's material at the same time, use generated shaders as brushes and can map patterns on brush, screen or texture space. The painting tool supports multiple Paint, Procedural and Mask layers.
- A website dedicated to sharing procedural materials and brushes.
- A base library of ~200 nodes that define shapes, patterns, filters and transforms on textures, as well as 2D and 3D shapes described as signed distance functions. Those nodes can be accessed from the Library panel or the nodes context menu of the graph view.
- New group nodes and shader nodes can easily be created using the user interface (creating shader nodes require some GLSL knowledge).
- A graph view where material graphs are edited, with several available material types (Static PBR, Dynamic PBR, 3D PBR, Raymarching, Unlit).
- For all material types, exports ready-to-use materials for the Godot and Unity game engines. For Unreal, manual setup of the material is necessary, Material Maker only generates image files and shaders.
- A hierarchy view that shows the hierarchy of group nodes in the current material.
- 2D preview panels that shows the textures generated by the selected nodes and can export the result, as a single image, or as several images or a spritesheet for animations.
- A 3D preview panel that shows the current PBR material on a model. Basic shapes (Cube, Sphere...) are available and custom models can be loaded in .OBJ format.
- An Histogram panel that shows the current node's output tonal distribution.
- A Reference panel where images files can be dropped and that can be used to pick colors and gradients.
Pay what you want
Material Maker is free and open source, but it is still possible to help the project in many ways.
- If you don't feel like paying anything, just click the "No thanks, just take me to the downloads" link when prompted for a donation. You can still help the project by submitting awesome materials on the website, reporting bugs, suggesting new features, or even contribute code on Github.
- You can, of course, donate when downloading. Thanks a lot for doing so.
- If Material Maker is really useful to you and you wish to contribute more, I have a Patreon. Backers have Discord benefits, and this will help me spend more time on this project.
- If you want more tutorials, Arnklit (the guy who creates awesome video tutorials for Material Maker) has a Patreon as well.
Translation files can be installed using the Download button in the Preferences dialog.
If for any reason this does not work, you can download the translation file manually and use the Install button instead.
- Chinese translation (Created by free_king)
- If you have problems running Material Maker on MacOS, please contact me on Discord
- If you want to run a 32 bits version of Material Maker 1.0 under Windows or Linux, you will just have to:
- download and install the 64 bits version
- download the 32 bits version of Godot 3.4.4 for your OS from here
- in Material Maker install dir, replace the executable file with the 32 bits Godot executable
- you now have a 32 bits Material Maker
- For any other problem, please don't hesitate to contact me on Discord
|Updated||19 days ago|
|Platforms||Windows, macOS, Linux|
|Tags||designer, godot-engine, material, pbr, Procedural Generation, substance, Textures|
|Code license||MIT License|
|Asset license||Creative Commons Zero v1.0 Universal|
|Average session||A few minutes|
|Links||Source code, Documentation, Discord server|
Click download now to get access to the following files:
- The calm after the storm19 days ago
- Material Maker 1.070 days ago
- Material Maker 0.99Apr 10, 2022
- 2022, funding, macOS port and random rantsFeb 03, 2022
- Material Maker 0.98Jan 23, 2022
- Material Maker 0.97Oct 17, 2021
- Randomness in Material MakerOct 14, 2021
- Material Maker for MacOSAug 04, 2021
Log in with itch.io to leave a comment.
Love the tool. Are there any plans to add graphics tablet support? It's very difficult for me to paint on the model with a mouse. It would be much easier with a pen.
Hi! Painting with a graphic tablet (with pressure and tilt support) is already supported. Could you please contact me on discord so I can investigate the problem?
I think I see the problem. I'm on Ubuntu 22.04 and the tablet/pen is not detected in the Settings menu (which I think uses libwacom). However it does work in apps like GIMP and Blender, I think cause they have native support. I tried to update libwacom myself, but the libraries don't work on newer versions of Ubuntu, so I might be stuck. I'm using a Huion Q11K.
Hi, I have used MaterialMaker several times but since a few days ago for some reason when I start the program, it loads for a few seconds and crashes and that's why I have not been able to use the program. Do you know by any chance why this happens?
This could be caused by corrupted config files. In that case, removing (or renaming) the material_maker directory in C:/Users/yourusername/AppData/Roaming should solve your problem.
Thank you so much for mac support!
Just to provide an update for anyone maybe wanting to use the win32 hack - it doesn't work.
I guess you have to download Godot 3.4.4, now (didn't actually test it, though).
(edit) Tested it and updated instructions.
this is fantastic but please, please make the active are on the node-outputs and inputs larger. It's c4D-level of aggravating how pixel-perfect you have to click on the circles.
This is actually amazing, you have done a lot for the game dev community!
I tried an export of an example (animated cracked floor) to unreal 4.27, I only get textures, no material
Unfortunately, there are manual operations necessary for Unreal. Everything is described in the doc. I need to write an unreal plugin to make this completely automated.
Thanks a lot for this amazing tool you're giving us :) I can clearly see this becoming a serious concurrent to substance designer. Amazing job mate.
Please make GLES 2.0 compatible.
Unfortunately, you won't do much with Material Maker without a decent GPU (all it does is generate and execute shaders).
You could still try to run from sources (you can easily switch to GLES2 in Godot's top right corner).
good job keep on the good work. :)
This looks like so much fun, but 0.99 does not start at all on my mac. I get "“material_maker.app” is damaged and can’t be opened. You should move it to the Bin." Any ideas?7
The error also used to happen in "Pixelorama". but it's now solved there (see https://github.com/Orama-Interactive/Pixelorama/issues/516)
thats amazing! If I could pay I totally would! thanks for making this!
It worked fine for me on Mac, I downloaded the DMG using the Itch app and installed it just fine. Great alternative to substance designer, will definitely use this, thanks again!
pretty cool, only thing I could suggest or would be nice is `brew install material-maker`
I unfortunately don't have a Mac (yet?), so everything macOS related is pretty difficult for now.
ahh, that's too bad. I just tried to install and running into the damaged error. I attempted to do what you recommended but it still won't work for me. I'm on Mac OS Big Sur Intel Processor. Looks like a great application though. Let me know if you find another workaround.
Hmm did you try what's explained in the macOS related devlog? What happens when you do?
Please don't hesitate to contact me on Discord so I can try top help you. ;)
Ya I tried that command and pasting the application, same thing. Saying it's corrupted and I should eject. Even turned off Gate Keeper to see if that would help. No luck. Hopefully you get a working Mac version soon. Let me know if you do.
Lovely tool, thank you!
Please add the ability to disable texture filtering in the 3D Preview - useful for creating pixel art textures :)
super cool tool and definitely a great alternative to substance designer!!
Sadly it doesn't support 32 bit system for Windows.
Please read the Troubleshooting section above. 😉
Thanks I didn't read/saw it, but if it's that simple, then why don't you just do that and provide a 32 bit download?
I could have understood it, if you would only provide 1 download option and tell us how we could easily change the version to our need, but providing multiple versions and for your own comfort, not doing what you tell us to do, if we want/need a 32 bit version, is in my opinion lazy.
You just got yourself a DudesLazy Badge for being lazy, which you can obtain once I have anything published that contains Badges. 😉
Good program... but it is crashing often for no reason other than I edit some nodes that are not even that heavy...
Beware, MM creates combined shaders when connecting nodes, so combining 3 or 4 non non-heavy nodes can generate a heavy shader (and unfortunately, it's not possible to catch those problems gracefully).
I'm planning features to analyze, predict and fix performance problems, but I'm not sure they will be available this year.
Anyway, if you can provide step by step scenarios that lead crashes, please don't hesitate to contact me on Discord.
Is there a way to expose specific values and sliders like in Filter Forge for ease of use?
Or, is that on the to-do list?
Do you want to gather the main parameters of your graph into a specific location?
Instructions for mac to unlock
- Drag the App to Applications ( Important for Terminal Step )
- in Terminal use the command below
xattr -d com.apple.quarantine /Applications/material_maker.app
I couldn't get a 32 bit windows version of MM??...
Hi! I just added a solution for you in the "troubleshooting" section of the project description
It doesnt work for mac, i waste my money
Hi, could you please describe what happens when you try to start Material Maker so I can try to provide a fix? Please don't hesitate to join the discord server so we can chat and find a solution.
Thanks a lot in advance.
I open the dmg file, I copied the material_maker app to my hard drive, I open the file and it says “material_maker” is damaged and can’t be opened. You should move it to the trash.
I have never had a message like this.
What should I do
Thanks for this information. I will investigate this issue later today and come back to you when I have a solution.
OK, just checked and it seems the xattr command in the devlog I mentioned in my previous message will work.
In case the xattr command fails because the mounted volume is read-only, you may want to duplicate the volume and use the copy.
Did my answer help you run Material Maker under MacOS?
Detailed photoreal materials can be made with MM.
when I think prepare a tranlation.csv then i can do some setups ,but the fact is i only can input local word and interface still English.....QAQ
material maker should be available for mac also
I cannot test a MacOS port. If Mac users help, this can happen.
how can we help?
Please join our discord server, and say hi in the #macos_port channel. I'll be able to spend time on this later today...
I really wanna use material maker in a mac.Please help
i say MM is powfull software ...yes!
em......why I open this site every day?
Dunno. A very bad addiction maybe... 😏 Please be patient, 0.96 needs a bit more work. And time.
ok maybe you can improve the operation .i think node socket is not easy to click and link......becase that point is too small...
That's because you unzoom the graph. If your graph is too big, you should start creating node groups.
I cannot really change that behaviour, it's provided by Godot (and the connect zone is already bigger than the default one).
BTW, we really have to find another place to communicate, this one is really not convenient. If you can suggest one...
The tool works well - but the addon side (from the steam godot) produces:
Unable to load addon script from path: 'res://addons/material_maker/plugin.gd'. This might be due to a code error in that script.
Disabling the addon at 'res://addons/material_maker/plugin.cfg' to prevent further errors.
Just FYI. If you import manually instead it works fine. This tool is a big help when coming from something more like UE!
The addon part is obsolete, for now. It is possible to make it work, but has little value for now (export from standalone tool is smooth). I will probably make it work again in a few months.
How do I use brushes? Every time I click the check box nothing happens
Hmm did you try the predefined brushes in the brush panel? Clicking the checkboxes just enable the different channels of the brush, but you still have to create the brush graph.
Please don't hesitate to join us on Discord if you need help. It's much more convenient than this comment section.
Oh and did you Select a layer?
it seem that material maker can make music????
That was a special release for April Fools in 2020. It worked, but I was not satisfied with the result, so those features are not in Material Maker anymore. I might give them another try once compute shaders are available in Godot 4. But maybe not in Material Maker.
when will 0.96 relaess?
Is MacOS version available?
I have an experimental MacOS build, but cannot test it. Please don't hesitate to join our discord server if you are willing to help.
drap many pictures(.png) may be have bug.....or just my wrong
their sizes aren't 2^n
May be we need more language support......i18n ....
Hmm there's a pull request on Github for internationalisation, but I'm not sure how we can get translations in a reliable way for a small open source project.
waiting amzing node all the day <:
Uh? What are you talking about?
emmmm.....Do you have try to copy the debug node 's code into godot?it doesn't work.And when I try to fill to uv ,but it have and egde...So....But i still think our software can beyond quixel mixer.
How can i use the height map affect the model to make a displacement?
In the 3D preview, select the Model -> Configure menu item and check the "tesselate" option. This only works with default models, not custom ones.
how can i add my node into a difined or difined by user layer? like noise -> fbm to my panel -> my node.
Maybe you want to join our Discord server for that kind of questions.
discord was be banned in my country QAQ.........
i even want to get the model's normal and any other mesh data