Satoshi sent in the following article: Ekakiya, one of the famous Blender gurus, shows us a nice demonstration of material nodes, composite nodes and tangent bump mappings at BlenderArtists. It's quite impressive: not only does he show rendered images but also snapshots of these nodes. The snapshots are totally complex, but have comments to describe how the part works.
He has experience of node systems in other 3D applications and has been worked at lots of commercial projects, so he can create this amazing work! Also, he has proposals about node system and other features of blender. He told me them last January, sorry if some of them have been implemented.
1.'if'node
Blender node system doesn't have any link-controlling node, so nodes(noodles) are easy to complex. For example, when using the ramp node. (Does Script node will work for it?)
2. Post-process node for Material. For example blur, gamma correction and sharpness. It'll be useful for reflection map of some kind of metal materials.
3. Easy way to animate parameters.
4. Multi uvs for LOD.
Or access to uvs for material nodes to select them.(OK, I know multi uvs has been already planned for next release ;-))
5. Value accepts n<0.0 and n>1.0
Thanks!
15 Comments
I think that the Script node (PyNode) will make most of what you propose possible, at least points 1, 2 and 5 should be doable (if I've understood the 'if' node correctly). I'm still working on PyNode, and once a nasty seqfault has been fixed, it should be not too difficult to get it into CVS (but not for the upcoming 2.43 release).
You can check the PyNode builds at graphicall.org if you like. And check http://mediawiki.blender.org/index.php/BlenderDev/PyNodes for more info on PyNodes
/Nathan
Comments on the BlenderNation.com site:
The site has a long load time. Probable cause it's loading a lot of blogs and php files.
Can this be optimized?
This site does not have a long load time. Especially not because of "a lot of blogs and php files" whatever that uneducated statement means.
For point 3, you could create an IPO node. Connect one graph in the IPO to the node in the noodles.
wohooo! filter pics!
I'm sure the python node will be all well and good, but for the sake of those that aren't fluent in python, I think these five requests are a BIG HINT to the developers working with the pynode, and these should be included as presets. PRESETS! Can anybody hear me out there!? I just get sad when something so powerful like a code-controlling ..thingy.. is released but it has no compatibility for presets because it makes it a lot harder to learn to USE IT MORE OFTEN. That's all I'll say for now. Keep it real, doods.
Yes, bmud. Presets! Presets! Presets!
It would be nice to be able to save node setups for reusing them later without having to rebuild them entirely.
It would be even better if constructed nodes groups could be saved in some editable format (XML maybe?) with the hability to add custom labels to the inputs and outputs.
It would be -IMO- a killer feature: A folder "noodles" would host custom procedural node setups that would be loaded automatically and added to the nodes toolset.
The current group system works great, but the collapsed group lacks of information about inputs and outputs. Although you can edit the group, it would be faster to have labels to identify each I/O.
What do you think about this idea?
@Gez: Reusing - You can save&reload them already by making them node-groups and appending them in your next file (or reuse them in the current) without having to rebuilding them completely. You seem to know this already, no?
Also there is a nice blend file here with a lot (really) of already finished node-setups in it (kinda like a material lib) and i believe there are more somewhere in the Composition forum.
Custom labels for groups? 100% ACK
Werner
@if-node: Does any of the developers reading this know the way LabView works?? They have Case-elements, that span a subset of commands. then one can define different cases in which specific "commands"/"oparations" run.. Visually this case-structure is like a blender node group.. I think this would be a good idea to implement an "if"-element in the nodes-structure.
@Hörer:
Yes, I knew that (appending, is one of the vital functions video tutorial ;-) . I was talking about a more comfortable way to do it. Frankly, I don't love the idea of having a Blend File with node setups for everything, or node setups scattered in different files. I'm talking about having them right in the toolset, more handy and for every project.
Thanks for the links, anyway. Very interesting.
it would also be realy usefull to be able to link specific lights to specific shader nodes. for example a scene would have two lights, and the object would have multiple nodes, some of these nodes would be only effected by one light and the other nodes would be effected by the other light. similarly it would be nice to be able to link lights to objects and not effect other objects and not just a single layer.
@Ger: Ok, i suspected that you meant it like that :) But it think integrating (or bundling) the library script directly into (with) blender would help a lot already by make it easier for people to exchange these things and have nice previews. AFAIK the script now understands node-groups as well.
Oh BTW: here's my request for a better node-group handling from a while ago (the second entry):
http://mediawiki.blender.org/index.php/Requests/CompositingFeatures
It's in the composition section, but applies to material nodes as well of course.
Feel free to extend this :)
Werner
@Höhrer (this time correctly spelled :)
The assets managment is a feature I'm really looking forward to seeing integrated in Blender.
The library script is nice, but assets management is a feature of intensive use, and having it in a script is quite uncomfortable. The same idea of the library script completely integrated to Blender's interface would be grat.
Thank you very much for the information.
Just another thought:
There are "base" nodes and procedural operations with nodes.
It would be nice to have this in mind when requesting for nodes to developers.
Glows, DoF, Keying are procedural operations. They can be achieved combining some basic nodes in certain way.
Basic nodes are nodes that can't be achieved using the existing nodes: a specific node has to be designed to make the intended operation possible.
Why am I saying this? Because the assets management and the hability to save node groups (with custom labels, for usability purposes) would cover the need of special FX procedural nodes setup. The particular effects could be available in a repository and users would be able to add them according to their specific needs.
With this part covered, developers would be able to work focused in basic, essential nodes instead of solving requests of less important effects.
Sorry for being late. Thank you for comments.
Nathan:
Thank you for the information and coding...It's really cool! Unfortunately, 2.43 will not include it, but I really look forward to release it as official!
Digital FX Artist:
Thank you for the information. I've ever thought it's bit complex thing because I've misunderstood the tutorial of BlenderArt mag #7...