Why you shouldn't do a node system's job with a legacy-styled, panel-based interface

Earlier this year, the guys at Maxon unveiled their new version of C4D with what was touted as a completely new material system.

At first glance, in my opinion as I was reading about it, it seemed like the company was really straining to avoid the idea of adding a node-based material builder while making the system more flexible, turns out they are now learning that the hard way from some of their users.

So it seems like they decided to try to use a legacy styled material panel system for a material paradigm that tends to work best in the form of a node tree (and on top of that try to make it have the same amount of possibility while keeping all of the legacy render technologies intact), no wonder they’re starting to see more users thinking it is a mess, and to compound that there’s the odd report of it making renders a lot slower as well.

In my opinion, I personally would be less likely to ever get C4D now because of the lengths they’re going to not at least have an option for node materials. So what are your thoughts, can a node system’s job be condensed to a legacy interface design, should it, is it possible to do it right?

Have you seen it in action?


So, can a “node system’s job be condensed to a legacy interface design”? Looks like it to me(but why is it a node-system’s job anyway?). C4D’s material panel is one of the best I’ve ever used. It’s like setting up a material in BI, with about 1000 more settings(and now apparently 16 reflection layers). I’ve been saying forever that I would love for Cycles to work in that manner, but that will never happen, and that’s OK too. I just don’t see how you need nodes to make a complicated material. On that note, why wouldn’t you be able to make a complicated mat in a panel with sliders and layers?
By the way, I would hardly say that Maxon is “straining” to do anything, nor are they “going to lengths” to avoid anything either. You keep starting imaginary conflicts and pointing out imaginary failures of software companies and developers. You don’t know what is happening over there, or why some people have made certain decisions. Also, Maxon isn’t “learning the hard way” with four people having a discussion in a thread about the Reflectance channel. Again, with the unnecessary drama…
Cinema 4D is an amazing program, and always has been as long as I’ve known it. Pretty sure it isn’t going anywhere either.

The way you make everything sound dramatic, you should consider a career in journalism Ace :slight_smile:

That really looks like maya’s Mila layering system. In depth it’s a node based, but also has a legacy panel-based representation (through some mel scripts) which is still buggy and more reliable as a node system. Here is a funny moment in a tutorial for mila. had some laughs :slight_smile:

I know some people that are sort of afraid of nodes (one i’m thinking of right now works in a C4D, what a coincidence). They are more familiar with panels, so i think that is for them to be able to use node based material systems without nodes.

For now for me blender has one of the best material systems.

My biggest problem with a panel based interface is not that they are incapable of producing complex effects, it’s that every single material has the same base level of complexity. Even a basic diffuse material with a UV unwrapped texture still has those 1000 settings for it. I don’t need a panel with emission and refraction and sss and AO and specular and hair and mirror and ambient and translucence etc. etc. etc. And I find it really distracting having all of these settings that don’t effect the shader that I am actually using.

Anyway, that’s my take on it. YMMV.

Not all of those settings are visible, a base C4D material has Diffuse, Spec, Reflection(the latter two are combined now, with options to shut either down, or mix), SSS, Refraction, Illumination, Fog…the list goes on. It’s a really simple panel at first. The advanced options are when you go into the sub-menus of whatever you need to adjust. My argument is, everything you need is already there, no node trees and no adding anything. I haven’t used the newest C4D 16 system yet, but it looks the same as the previous ones that I have used, from what I have seen so far. If you need a reflective surface, you add a new material, check off Reflection, move the slider, adjust the color, then you have the option to go deeper with layers, and all that good stuff. As with nodes, you simply ignore things you don’t need(and nothing is in the way, sub-menus are under the respective effect you are working on). Also. once you have made the material in the pop-up material window, it is now translated quite nicely to the Properties area as seen here: http://maxonexchange.de/pr/Cinema_4D_R16/Cinema_4D_R16_PS_Reflectance.jpg
It would be a dream to have Cycles operate like this, but the Cycles material panel is an afterthought, and a mess, in my opinion. I guess this could be yet another argument for an Ubershader. :slight_smile:
Really, making a complex material is…complex, so you need many options whether you use nodes or a panel. In my experience, I would rather go to whatever setting I needed and adjust it accordingly, rather than add 10 nodes first, but that’s me. To each, their own, as far as that is concerned, and I don’t think either one has a massive advantage over the other one as far as the complexity of making a material.

Indeed, different strokes for different folks. I just fell in love with nodes after I got comfortable with them (after about 3 years of avoiding them). For me, it works more like modular programming. I can program any effects I am looking for with nodes. I felt really constrained by the layering system in BI, But given the fine level of control and the variety of inputs in cycles node based shaders, I felt much more free to experiment.

But for users that aren’t as fond of nodes, then cycles panel layout is a bodged mess. Anything more complicated than a mix shader and it’s almost impossible to navigate. Personally, I hate the idea of an ubershader and I would never use it. But, I can certainly see the advantages for the node-averse.

An Ubershader is best for simpler things, yet allows for extreme complexity at the same time. Really, it’s the same concept as the material panel(although I would STILL take the panel any day of the week). For instance, Cycles doesn’t have a shader with diffuse + glossy mix + fresnel, a typical starting point. You have to make it from scratch, which can get tedious after a while. With an Ubershader, it’s all right there, not unlike a material panel.
I’d also like to point out that Ubershaders and material panels are not for noobs or people who are “afraid” of nodes. Quite the opposite actually.

From what I have gathered, one of the primary complaints that I have heard with the reflectance system is that all of a sudden, you have a channel which dwarfs all of the others in importance. In fact, it’s basically a new material system that has been slotted in among all of the legacy settings, yet for some reason you can’t afford to completely ignore the legacy system if you want the best render results that C4D can give. Perhaps in R17 they can emphasize in the interface that this is the system that forms the bulk of material creation and have it front and center in the UI. Another complaint I’ve heard is that you cannot instance textures, in a nodal system you can just connect a texture data output to all the color inputs where it is needed, thus the hazards of trying to create something that would allow the same flexibility and power as a nodal system without using nodes.

Sterling Roth has a point, an ideal material system wouldn’t give you about 1000 settings and sliders if all you need is a simple glossy surface (and with group nodes can make the building blocks as high level as needed). You don’t need to have 16 layers available to you for simple things, the user would ideally be able to just add a layer like one adds textures for BI materials in Blender (so you start with one layer and use a list-based UI element to add more), this is made even more straightforward with nodes as you can pretty much create any type of layer for any type of shading effect.

Either way, I’m sure they’ll improve on it, but people right now are getting the feeling like it’s been shoehorned in and could’ve been kept in the incubator for a bit longer (or just introduce nodal materials because the app. already has a UI window type that can allow for that).

It can get tedious to constantly be restringing up the same clusters of nodes you’ve done a thousand times, Which is why I built several nodegroups that I have set up in my startup file.

I think if they packaged just a few nodegroups in with blender it would help a lot.

-As you mentioned a basic glossy/diffuse blend shader
-A metallic shader
-A glass + absorption shader
-An alpha masked transparency shader
-some others I missed

Doing a few, fairly simple shader groups would work much better, imo, than a single ubershader. If a user wants to understand what is going on in the group, it’s a lot better to open up the group and see 5-10 nodes, rather than the 50+ that it would take to forge an ubershader. I’ve seen some of the massive clustered ubershaders that some users have been putting together. I’m pretty well versed in nodes, but I can barely figure out what’s going on in those. A new user will never figure out how to use nodes if their first experience looking at a nodegroup is one of those rat’s nests.

I see very few people who understand panels and nodes equally well and prefer panels over nodes. I do see a lot of people who were comfortable with panels and now are faced with having to learn nodes, and they balk at the new way of doing things. I think nodes require more technical understanding of how you are building your shaders. Anyone can adjust a labeled slider, but knowing where to put that fresnel node in the shader tree requires more knowledge. This is less new-user friendly, I’ll fully admit, but it isn’t complexity for complexities sake. There are things you can do with nodes that you cannot do with sliders and buttons, at the expense of it being harder to operate overall.

Obviously there are plenty of pro’s out there that prefer panels over nodes (like you!). And, there are a lot of new users that started learning Blender after cycles and only ever used nodes, who would have no idea how to create a decent material in BI. I really don’t think that it’s a noobs vs. pros thing. Frankly, I think it hinges on how the engine operates. The nodes in BI always felt really haphazard, and it always seemed to work better as a pure panel based interface, the way it was originally designed. Cycles was built from the ground up as a node-based system, and the panel interface is clunky and kinda worthless.

@Ace: Those 1000 settings are there only if you need them. Making a simple glossy material with fresnel for instance, is exactly the same as making one in BI. When you first add a new material in C4D you are not presented with 1000 settings, just the usual suspects like Specularity, Diffuse, Refraction, and so on. Each of those have their own menus, which are very straight-forward, and can get as complicated as you like, or need.

@SterlingRoth: I’m with you for the most part on all of this, but I have to respectfully disagree on a couple of points, so please forgive me! :slight_smile:
Firstly, I don’t want to know where to put my fresnel node, I just want to add fresnel to my material and adjust it. Let the gremlins in the program do that for me(that’s how it’s done, with gremlins, right?). You did say this is not very new-user friendly, and I totally agree…how the hell would anyone know how to do that blindly? Not to mention, how would they know if Diffuse goes on top and Glossy goes on the bottom, especially when a guy makes a tutorial and later says “oh wait, THIS one goes here, you have to flip them”. Of course, some people will stare at Vray’s material panel and say “what the hell is fresnel?” And sure, anyone can move a slider, but do they know where to slide it to? It’s not like nodes don’t use sliders either. I think once you learn what all of these terms mean, you would be better off no matter if you use nodes or a panel. Again, takes time.
Secondly, I wouldn’t say there are many things at all you can do with nodes that you can’t do with a material panel with layers. C4D, Vray, etc., they are all proving this wrong. I’m sure someone will come along and say “well what about this 375-node material I made that shines, glows, farts particles, and changes color like a chameleon depending on the camera view?” Well first of all, when are you ever going to use that? And second of all, you could still probably make that in C4D or something else.
But yeah, Cycles could use some presets, but more importantly, it needs a coherent material panel.

@Vicky, Disagree away! You are one of a handful of people on this forum who can respect other’s opinions while holding your own, and I really appreciate that.

CG is a technical medium for producing art. there are people who are more technicans than artists (me) and people who are more artists than technicians (you {not to be presumptuous, but it seems right}). I really enjoy the intricities of building a shader, or getting perfect topology, even if it doesn’t really matter. I know that the fresnel value is the physically correct curve to describe the specular falloff across a surface, but I don’t like to use it! I use the facing value and then tweak it with a gamma node. It’s totally physically incorrect, but I like the control it gives me. I chose to be more an artist on that one, because it worked best for me. I don’t expect everyone to be familiar with the differences between the beckmann and ggx shading algorithms, but if you do know how they work, then it’s another tool in your toolbox. It’s all a matter of degrees, but the more you know doesn’t mean you are a better artist. I don’t consider myself to be very artistic, but I have a good grasp on the technical details.

as for things that cannot be produced with panels, I made this node group to make a box out of plywood, with exposed edges where they would actually be. The box isn’t uv-mapped, it’s all done with generated coordinates:



We make a lot of things out of plywood where I work, so being able to drop this 64-node group into a material saves me a lot of time. yes, it took a couple hours to sort out the details, but now it works, and I don’t need to fiddle with it again.

Again, I’m more of a technican and programmer when it comes to blender. So a highly technical, algorithmic description of what texture is going where is right up my alley. This is a node to randomly assign textures from a grid of images to the covers of books:


Are there other ways to do that? Definitely, But this way is the easiest, most modular way that I have found to do that.

For me, nodes concentrates the complexity of a material into one place, instead of spreading it out over 3 tabs and a dozen panels.

Very cool! I know you now have these setups to use whenever you like, but the first one especially is a tad bit disturbing to me LOL!
As for both of them, I found this quick tut on assigning random textures to floorboards, it’s an interesting way of doing it, but more importantly, you’ll get to see a guy breezing through the material panel. It should be interesting to you nonetheless. :slight_smile:
Important to note, when he first opens the Material Editor, that is what you see when adding a new material in C4D. Not too scary, eh?

A simple challenge for node haters: imagine how could you implement with panels (an awkward form of tree structure) the following shader, without duplication of nodes.


Hint: all trees are DAGs, not every DAG is a tree…

@jpb06: You lost me, could you elaborate, and maybe not make this a riddle?
EDIT: And it’s not “node haters”, it’s people who prefer using a material editor, like it has been done for ages, and still is. I suppose you are a “panel hater”?

Nodes come much more naturally to me than panels, but I see how some people just want to adjust a slider and go.

One method I always thought would be ideal would be to allow node groups the ability to expose controls, fields, and sockets of interior nodes to an exterior panel UI on the node itself, but more importantly, in the material tab. For whatever material node tree is active, display a panel for each node group (with exposed controls enabled) of the root material node tree. The settings exposed to the exterior of the node group would have the option to be stored per node group or per instance of the node group (difference between class static variables and class instance variables).

This would make construction of uber-shaders and other things really easy. Exposing the UI for a material in a way that a user does not have to touch nodes at all. Obviously some thought would have to go into how the exposed controls are arranged and customized by the node group’s creator. I could always draw up a mockup later this week if anyone is interested.

@SynaGl0w: “Adjust a slider and go” makes it sound like a lazy person not wanting to spend any amount of time on their material. It’s not just about sliders, there’s layers, etc.
Above we have already discussed the incoherent Cycles material editor panel, I’m all for it, and would love to see someone fix it. I say, mock away! :slight_smile:

Nodes Vs Panels

Logic bricks Vs python programming

Node graph vs logic

it’s all style

and “hard coded use vs programable use”

Haha, spot on.

Blender Developers Hate Him! You Won’t Believe What He Did Next!! You’ll Be Amazed When You See It!!1!

Ace, do you see what you are doing the way you phase these threads. And, it always seems to be a node thing with you as if you’re the Cycles fan boy from Hell itself. On a one man crusade to do away with sliders and value boxes.

I happen to like the material panels and find them more intuitive as Vicky does. But, a German Blender friend prefers nodes. Well, hell welcome to the human condition.

But, that aside for a minute. Let me just think out loud without my thoughts being in quotation marks in five minutes if you will.

Business types are interested in time and quality. And, to that end I suspect they want to see all these programs simplified with the ability to tweak certain things still there. Drag and drop materials and textures with maybe a right click menu to tweak the parameters only specific to what has been chosen. So in my thinking their ‘Wrist’ wouldn’t be noodling nodes nor poring over material panels.

And, I could very well be wrong but I think graphics programs are moving in that direction with respect to material and textures. Hell for that matter box modeling might be a thing of the past ten years from now for anything organic. Just sculpt and hit retopo if that is even necessary by then.

And, if any program gets that intuitive and fast is it not going to be on the work stations of every major studio in the country. Even Fluid Designer is it gave us a little taste of that. I still haven’t downloaded it because I’m still working on my Blender skills. And, since I’m seventy six I doubt if my meager efforts are a waste on my current project and maybe the next several ones.

But, many of you will see this node, material panel thing as something you laugh about not to many years from now. Saving screen shots to show what you went through. And, yes, Ace commercial programs with their resources are going to lead us into this brave new world. :slight_smile: How in the hell could Blender possibly do it with four paid programmers, fellow.