-
-
Notifications
You must be signed in to change notification settings - Fork 236
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Sharing a material I made plus my thoughts about Material Maker and how to improve it #193
Comments
Most of the changes you've requested must be done in GraphEdit/GraphNode, which is one of the most complex GUI nodes in Godot. It's all written in C++ and is built into the engine. There are many proposals about it. The main "driving forces" behind GraphEdit development are visual scripting and the visual shader editor. Since many of these changes may involve breaking compatibility in subtle ways, this can't be done before Godot 4.0 is released. Also, since these nodes are not a development priority, they may not change significantly in 4.0 either. It all depends on how much work volunteer contributors will put into it.
Zooming is currently limited because it only scales the "final" image rather than properly scaling everything. If you were to zoom out too much, pretty much everything would become unreadable. I'm not sure if we have control over this in GDScript anyway.
I suppose this could be added in Material Maker by adding no-op nodes that take as little space as possible?
|
Thanks @Calinou - I understand most of this needs to be addressed in Godot itself, and I also expect porting Material Maker to Godot 4 is going to be a major task once it's out. I think text readability is not a concern when zoomed way back out. What I want to see is the layout of nodes. The structure -being able to zoom out and in with no limits lets me build a mental image of the node graph and manage them better, this is handicapped right now and it's difficult to find your way around large graphs. Maybe I should start using groups aggressively to mitigate that problem, though they work way different than in Blender so I'm not sure how to use them properly right now. They are probably something I should really stat using going forward. |
Hmm I wrote Material Maker with some of those limitations in mind. So I totally agree that those improvements should be made, but you should definitely use groups in such a huge graph. You can use the comment node to document your graph as well, it is resizable and you can choose the background color (and yes it needs more love from me because editing the text is still a PITA). Anyway, thanks for testing the "screenshot" feature with a real life example, and thanks for sharing this awesome material! And yes porting this to Godot 4 will be a lot of work, but I just can't wait. Multiple windows, probably new possibilities with shaders... This Godot release will be awesome. |
@unfa BTW, would it be possible for you to share your material in the subreddit? Would be a pity to hide it in a feature request... Oh and please don't hesitate to show other materials if you have some (just screenshots if you don't want to share the graph). |
I'd totally love to share this material there - could you give me a link? |
There's an entry in the Help menu for the subreddit. |
Posted on Reddit: I don't know why my account has a random name. I tkink I'll delete it and create a new one, but I don't have time to do that right now. |
These would be possible if godotengine/godot#40513 would be merged. |
@Jummit Do you think this PR will be merged? When? |
It depends on an engine rendering fix, and even if that is merged, it'll take a while. |
Hmm maybe we could fork Godot to get those fixes early. Material Maker will need EXR support in runtimes anyway (and a way of getting an error message from shaders would also help a lot). @Calinou , is there a way I can force Godot to include tinyexr when compiling runtime execs (non-tool), or do I have to modify config.py in the module? |
Import functionality isn't included in non-editor builds to decrease binary sizes. Itg would require a pretty significant amount of work to allow building non-editor builds with import functionality; see godotengine/godot-proposals#1632. I suppose an easier way to fix this would be to implement godotengine/godot-proposals#676 for the EXR format. |
A built-in GraphEdit minimap is being worked on in godotengine/godot#43416. |
I second Image.load_exr_from_buffer() for run-time EXR loading godotengine/godot-proposals#676 and symmetrical saving. |
Many issues here were fixed (minimap, reroute nodes...) |
Hi! I've started doing some work in Material Maker and I love it.
Here's one of the materials I've made recently - I release it under CC-0 - enjoy!
unfa-Concrete_Wall.ptex.zip
My overall feeling is that it's very powerful, but the UI and UX need work - I find it especially difficult to work with large node graphs. Just panning and zooming the node graph is difficult.
I know a lot of these limitations come from Godot - maybe material Maker could become a driving force in improving it upstream?
I think I can manage much more complex node graphs in Blender than in Material Maker, because:
I think one of the easiest ways to improve this node editing experience is by allowing the users to zoom out far more.
Right now I feel like hitting my head on a low ceiling all the time when I try to zoom out more.
Also - a mini map of the node graph with the ability to pan with it would be very helpful.
I'm excited to see he Workflow nodes, trying to implement a way of merging sub-materials together - it'd be way easier to work this way instead of manually affecting every PBR map of my material by hand for every layer of detail. However I was unable to understand how these are supposed to work and how to use them.
Now - these are pretty fresh notes, I've been using Material Maker for about a week now - I am very, very excited for it, and it already can do amazing things, but I feel there's a need for many quality of life improvements and helping users manage large graphs.
Thank you for creating this software, and making it free for everyone.
This is wonderful!
PS: I'm sorry if this is a wrong place to post such a letter. I'll happily move it somewhere if need be.
The text was updated successfully, but these errors were encountered: