Material Maker 1.4


Material Maker 1.4 is now available for download...

I would like to apologize for all the time it took, I seriously underestimated the effort needed to port everything to Godot 4 and the temptation to add new stuff before releasing. You probably cannot imagine how happy I am to finally turn this page of the Material Maker story. If you’re not a fan of bad excuses and not interested in a few hints about the future, feel free to skip the next paragraph, but here they are anyway:

  • I knew that porting Material Maker to Godot 4 would be a lot of work, but I neglected to account for the amount of opportunities that would be on the way. Support for multiple windows enticed me into adding flexible layout and undockable panels. Compute shaders opened the door to 32-bit-per-channel textures rendering, but this required serious changes to shader generation so I rewrote that part, which in turn unlocked more shader parameter types such as splines, pixels and lattice. It was difficult to stop and focus on just fixing bugs and releasing the new version, which I knew would require quite a few alphas, betas and RCs.
  • One of the big tasks of the Godot 4 port was the painting tool, and I’m still figuring out what it should become. I must admit that technically it’s quite interesting (in 1.4 each stroke paints all channels in a single compute shader), but I am not sure it is the right approach for texturing models. However, the problem is that brushes are completely procedural, but we capture the end result of strokes in textures for all layers. I am more and more convinced that it would be smarter to introduce very basic painting in the material graph (such as painting masks, ID maps, and custom UV maps that follow the strokes and stamps), and this would be a logical step after the new Mesh Map node. A possible next step would be to provide an alternate UI with the painting tool in the center and the graph simplified as a layer tree (based on dedicated layer nodes, evolving from the Workflow nodes we already have). So this part took quite some time, although I still consider the current painting tool an experimental feature.
  • As you probably know, I code Material Maker in part of my free time, and this tends to fluctuate quite a bit. During that period, my professional life has been quite chaotic, yet weirdly stable in its own unsettling way, and at some point the project I worked on was extremely challenging and left my brain with little energy to do more coding on weekends.
  • Tackling such long tasks always brings some introspection, and at some point I remembered why I started Material Maker: I wanted to create games and I was not great at drawing textures. But with all the time I spent on this tool, I hadn’t developed games. So I joined a local game developers’ group, met talented artists, did a few gamejams in a team which then stabilized into ‘Cularo Games’. This takes some of my free time, but it feels awesome.

Anyway, thanks a lot for everyone who support this project, either by donating here on itch.io or on Patreon, or by reporting bugs or suggesting new features, or sharing their awesome materials on the website. And huge thanks to all contributors (williamchange, Jowan-Spooner, NotArme, Theaninova and a few others) who helped a lot adding awesome features or hunting nasty bugs.

You will find the main new features in this release (compared to 1.3) below.

General

  • Shader code generation has been rewritten completely. It should now be faster and generates smaller shaders (unused functions are now removed) with nice comments showing which code is generated for each node.

UI

  • The splash screen has been redesigned and now shows a project (a material, a shader or a game) created using Material Maker. If you want your project to be shown in future releases, please don't hesitate to contact me on Discord.

  • Material Maker now has flexible UI layout: all panels (except the Project panel) can be moved anywhere in the window or undocked. Material authoring and Painting can have different layouts, so you can define a suitable workspace for both workflows.
  • Theme support has been greatly improved, and many custom UI components are now themeable. A new Modern theme has been added and old themes have been improved (contributed by Jowan-Spooner).
  • The Add Nodes popup has been improved (contributed by Jowan-Spooner).
  • The Library, 2D preview, 3D preview and Reference panels have been redesigned (contributed by Jowan-Spooner and williamchange).
  • The Create Library dialog has been updated (contributed by NotArme).
  • The 2D preview panel can now be used to edit geometric parameters such as polygon/polyline, splines, lattice and pixels.
  • The 3D preview now has AgX tonemapper and tonemap exposure and white parameter (contributed by williamchange).
  • When uploading materials, it is now possible to select the preview
  • Camera controls are now consistent in all 3D views
  • A shader error diagnostic tool has been added. It can be shown by clicking on the new "console" button in the status bar and shows shader compilation errors with clickable links that open the node editor in the (in)correct section.
  • The shader code editor now has a Find/Replace tool.
  • An option to delete rescued unsaved projects at startup has been added.

Nodes

  • The default nodes library now has more consistent node names (contributed by NotArme) . 
  • Material Maker has a new MeshMap node that automatically bakes maps (position, normal, tangent, curvature, occlusion or thickness) for the current custom mesh. This provides a better workflow for "smart materials" since the maps are recalculated automatically when selecting a new mesh in the 3D preview.

  • Many new 2D and 3D SDF nodes have been added (contributed by Theaninova and williamchange).
  • The Math and Vec3 Math nodes have new operations (contributed by williamchange).
  • A Shard FBM noise node has been added (contributed by williamchange).
  • A Tex3D Uniform node has been added (contributed by williamchange).
  • Classic, Generalized and Anisotropic Kuwahara filter nodes have been added (contributed by williamchange).
  • The Float and Gradient parameter editor widgets have been redesigned (contributed by Jowan-Spooner).
  • A new Splines parameter type as well as a new Splines node have been added (thanks NotArme for your work on improving the editor).

  • A new Pixels parameter type as well as new Pixels and Smooth Pixels nodes have been added. This can be used to create small images to be included in materials.

  • A new Lattice parameter type and a new Distort node have been added. It can be used to apply a grid based distortion to its input.

  • The 2D and 3D SDF Boolean and Transform nodes, the 3D SDF Color node and the Tex3D Transform, Blend Select and Shape Select nodes are now variadic (contributed by williamchange).
  • The Blend node now has Hue, Saturation, Color and Value blend modes (contributed by williamchange).
  • The Spherize node has been improved (contributed by williamchange).
  • The documentation for many nodes has been improved (contributed by williamchange).
  • Advanced buffers now have a 32 bits option.
  • The Roman Numerals node now supports values upto 3999 and has an align parameter.
  • The wavelet node now loops correctly (contributed by NotArme).
  • The Pixelize node now has support for Bayer matrix dithering.
  • The Japanese Glyphs node now has a normalized bevel range (contributed by williamchange).
  • A new Custom Tiles node that can accepts the shape of a tile as SDF input has been added.

  • More primitives have been added to the EasySDF editor (contributed by williamchange).
  • Axis parameters have been added to Extrude/Revolution nodes (contributed by williamchange).
  • A Unity URP lit export target has been added to static material types (contributed by williamchange).
  • A Fill Select node that can select a single area in a Fill result has been added.
  • A new Comment Line node has been added (contributed by williamchange).

Miscellaneous

  • Material Maker is now based on Godot 4.4.1.
  • The MacOS export has been modified so Material Maker can be installed easily (contributed by williamchange).

Files

material_maker_1_4_windows.zip 88 MB
1 day ago
material_maker_1_4.dmg 107 MB
1 day ago
material_maker_1_4_linux.tar.gz 83 MB
1 day ago

Get Material Maker

Download NowName your own price

Comments

Log in with itch.io to leave a comment.

(+2)

Don't apologize for doing the best you can. Material Maker is an awesome tool. Keep it this good 🙏

(+2)

Congrats! Huge W for the community

(+2)

One of the must have for all indie dev. Amazing program, fantastic effort @R0dZill4 and cia. Support this program guys 👍👍

(+1)

Thanks a lot, glad you like our small project. :)