Does it work for blender?
A downloadable tool for Windows and Linux
Material Maker is a simple procedural materials generation tool, based on the Godot Engine. Materials are defined as graphs where nodes create or transform textures.
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 generators.
Please don't hesitate to report bugs, suggest new features or send screenshots of the awesome materials you created with this tool!
|Updated||4 days ago|
|Tags||designer, godot-engine, pbr, Procedural Generation, substance, textures|
|Asset license||Creative Commons Zero v1.0 Universal|
|Average session||A few minutes|
Click download now to get access to the following files:
- A weird Material Maker experiment4 days ago
- Material Maker 0.921 days ago
- Material Maker 0.874 days ago
- Material Maker 0.7Nov 25, 2019
- Material Maker 0.7 needs youNov 05, 2019
- Creating custom shader generators with Material MakerOct 25, 2019
- Material Maker 0.6Oct 13, 2019
- Material Maker 0.5Sep 11, 2018
Log in with itch.io to leave a comment.
Not sure I understand your question. If you want to use generated textures in Blender, yes it will work (I think you will have to use the "Unity" export option to get correct normal maps).
Installing MM 0.9 doesn't currently work from the Itch desktop app, at least on Linux. It actually tries to install the 0.8 version instead. Some sort of configuration typo in the package definition?
Oops, my fault, I forgot to mark the download as "Linux".
Should be fixed now, sorry for that and thanks for reporting!
I actually like where it went with the last update, it has real cool nodes. It is real hard to navigate through the library though. There should be a shortcut that pops a menu up with a search box for adding nodes quickly.
I would like some nodes have 'inputs'. For example, why do we have to pass consonants to the brick node's parameters? I am not exactly sure how much this makes sense but passing maps to these could be a nice freedom to have. I guess I saw something like that on youtube somewhere.
Apart from these, correct me if I'm wrong, there isn't any math nodes for adding, subtracting or multiplying? and there is no sine node?
Again, I do like the project and wish to help if I can. Keep up! :')
Thanks a lot for your feedback.
You can focus the library's search box using Ctrl-F, but sure you still have to drag'n'drop the node. Showing the library as a popup to directly add nodes (either with a shortcut or when connecting an output to empty space in the graph view) is somewhere on the roadmap. ;)
About parameters, would you like to have them as inputs ? And have math nodes to build expressions for those parameters ? I think this is too complicated and I cannot find a good reason for that. Please don't hesitate to describe a use case so I can think about how to solve it.
here is an example on bricks. He puts some map on bevel to give it variety, and also to the mortar input later on the video.
About the math nodes, well they are not only for the inputs I mentioned above, more like for using math expression on maps. For example, how can I make a star shape appear only on white parts of a perlin noise? I would probably multiply star shape with the noise. I tried doing it with blend node but I'm not sure if that's what I actually mean. I am no expert of procedural texturing, but I feel like something is missing without having Add, Subtract, Multiply, Divide like we have on Blender, Unreal Engine and Unity etc.
Wish the trial of explanation wasn't too complicated, as to me what I said did not make much sense :')
The Blend node has quite a few modes, and multiply is probably the way to go to mix your star with your Perlin noise. You should set the opacity to 1 in that case. But lighten or darken could be good alternatives depending on the result you expect.
I will investigate missing blending modes.
I tried the GitHub version as a plugin/addon for Godot and had a problem. Godot told me that plugin.gd had an error in the code when I tried to activate it. Any thoughts? I simply downloaded the master and put the addons folder into the project.
I don't remember if the plug-in version is still supported. Try loading Material Maker as a standalone tool by importing its `project.godot` file into the Project Manager.
Yeah, the project works. I was just hoping that the plugin would work, too. Thanks for the reply, btw.
Fixing Godot integration is my next task. The addon will provide an import plugin that generates SpatialMaterials from .ptex files (textures can either be prerendered, or generated at runtime). It will not be possible to run Material Maker inside Godot anymore.
Does that mean that the material code will be accessible by Godot Script and such or maybe editable in VisualShader?
No. The plugin will just allow you to use .ptex resources as SpatialMaterials in 3D scenes.
Getting generated shader code should be easy (it's already possible manually using the Debug node), but I'm not sure how that could be used in Godot.
Will there be a mac build at some point? I want to use it but all I have is a mac :(
Can you give some pointers on how to create the binary/standalone version? Maybe someone else with a Mac could create an experimental build for you :)
1. Download the Godot editor and export templates from https://godotengine.org/download (standard, not Mono).
2. Download the Material Maker source code and extract it: https://github.com/RodZill4/material-maker/archive/master.zip
3. Start the Godot editor. This opens the Godot project manager. Use Import to select Material Maker's `project.godot` file and edit the project.
4. Install the export templates TPZ file using Editor > Manage Export Templates... > Install From File... at the top of the Godot editor.
5. At the top of the Godot editor, choose Project > Export. Create a preset for macOS (more information). Export it anywhere on your filesystem.
6. Extract the generated ZIP by double-clicking it then run the generated .app bundle.
The best thing since sliced bread
Great job on Material Maker! I think it's coming along very nicely and really only could use a few little usability tidbits as polish. The only (relatively speaking) "major" thing I would like to see are some option/settings for controlling the graphics quality of the preview. The roughness parameter increases the spread on the environment map samples but there's so few samples that it can look a bit "sparkly". If I recall there's a setting in Godot that you can access from Project Settings and also from scripts to directly control it (and be able to expose the setting to end-users of Material Maker) so we can crank it as we see fit for high-def material previews. That would be the only thing that I would need to consider MM plenty sufficient for just about everything I could want to do with it. Great work!
Thanks for your feedback !
The low res (1k) maps that are provided (I wanted to keep downloads as small as possible) make reflections look really bad on polished metallic materials. Would providing higher res panoramas and increasing their radiance size solve your problem completely?
After (with 2k panorama):
I did a little more experimentation and it appears to be a problem with Godot 3.1 and earlier where the "High Quality Ggx" and "Texture Array Reflections" don't change the sampling count on environment maps for rougher materials. The end result is that very slightly rough materials look "glittery", like someone applied a noise filter to the environment map and then just applied that to the render. I checked the latest Godot 3.2 beta release and it seems to have the opposite problem: turning off High Quality Ggx and Texture Array Reflections doesn't seem to cause noisy sampled environment maps.
Here's a GIF of what I'm referring to:
This is the rusted metal example material that I show modifying the effect of increasing the roughness. You can see that it's not speckled/noisy due to the surface, but because the environment map itself just appears noisy, instead of blurred. It's something I noticed with Godot a year or two ago and appears to be 'fixed' (except that now I don't think you can get back this low-sample-count behavior if you turn down the render quality settings for a project) and might just be something we have to wait for them to fix before you can release a new version that doesn't also have the issue.
At any rate it's not the end of the world and MM is still plenty great for creating PBR materials with. I really enjoy the simplicity of MM and the fact that it is very clean and simple the way software should be.
Also, just out of curiosity, did you develop this using Godot's GDScript?
I was already checking in other programs such as godot, ue4 and unity3d with their corresponding formats and the same thing happens, the x axis is inverted (-x).
this is by far one of the best free softwares i have found on this site
Thanx a lot ! Please don't hesitate to tell me what you don't like or what's missing in Material Maker. That's how it will improve!
Very nice tool - will certainly come in handy!!
One question regarding the user interface - any chance of getting the Blender style "click in a field and drag right/left to change value" fields?
At the moment input fields can be changed by entering a value or clicking the up/down arrows - those arrows are a bit of a pain for playing around with value changes.
From using Blender I found that those click-and-drag input fields make work a lot easier.
Then again - that might just be me.
Keep up the good work!!
I think you can drag the arrows up and down to change the value, but I must admit I don't like that widget. I'd like to use the same widget for all float values, but this one is too annoying for everything you'd like to change quickly, and the horizontal slider is just awful when you need to set a precise value.
Not sure when I can code this, but I really like your suggestion.
it's so useful, thanks! and keep on the good work! love making secondary normalmaps with it :)
I really like Material Maker!
I have a few questions.
- Is there a way to restart the rotation of the material preview?
- In the documentation see a Blur node listed, but where is it?
- How does the Custom Shader work?
1. Not in this release. But there will be a button for this in 0.7.
2. It was removed in 0.6 (due to major refactoring) and will be back in 0.7.
3. This really needs documentation (not only about how to write custom shaders, but also about how Material Maker works with shaders) and I'll write this soon. Anyway, many nodes are implemented as shaders, so you can select one, hit Ctrl-F and use the pencil button to see how it is implemented.
Are there any instructions of a possible export-import to actual Godot projects from Material Maker?
There is an old release of Material Maker in the Godot AssetLib. If you want to test it, just install it, activate the extension, and click the "Material Maker" button in the top right corner of Godot. In this integrated version, File->Export will generate a SpatialMaterial .tres file that you can use directly.
The new one (0.6) is not integrated yet in Godot. There's progress in the export_plugin Github branch, but I'm not satisfied with it yet. It will be available in the AssetLib whenever it's ready.
If you use 0.6, exporting a material generates a few png files. Then you will have to create a SpatialMaterial in Godot, use ..._albedo.png for albedo, ..._orm.png for ambient occlusion (R channel), roughness (G) and metallic (B), ...depth_texture.png for depth, ..._normal_texture.png for normal map and ..._emission.png for emission.
I got a bug (I think it is a bug) on export it hapens nothing.
When I click or press ctrl+e it hapens nothing. Do you have any idea?
I'm on a windows 10 Intel based CPU.
This is so cool!
Can it export to ktx by any chance, or just png?
Can i suggest more map types to export, subsurface scattering maps, is a big one I don't see a lot of programs featuring it.
Adding new maps would (will) be a piece of cake. Thanks to Godot, I can add textures for Rim, Clearcoat, Anisotropy, Subsurface scattering, Transmission and Refraction.
But first, I have to understand what they are used for. :p
in Simple Terms, Subsurface Scattering Maps are Mapping of how color of an semi translucent material should change when light affects it. the most common example being human skin turning a pinkish color when light is shining. (ex.
A very, very nice tool with nice examples to learn from, that gives you very nice textures in no time.
Just keep going that way, great tool !
Thanks for your feedback. Please don't hesitate to suggest new features, I don't have enough new stuff for a release right now. ;)