Nodeset: bugfix and small new feature


The nodeset add-on I talked about in a previous article had a small bug: if your texture set was something different than a collection of .png files the extra files that should be loaded automatically were in fact not loaded. This is fixed in the latest version (201707011445)

Code availability

The change is already committed in the GitHub repository. (right click the link to download).

New feature

Because of a bug in Blender a material with a normal map node will show up as all black if you use the experimental adaptive subdivision / micro polygon displacement. If you change the normal maps space from tangent to object this does not happen so I added a user preferences setting to do this automatically.

10 comments:

  1. This comment has been removed by the author.

    ReplyDelete
  2. Great addon! I use textures from several places. So I tried adding multiple suffixes.
    For example, Color Suffix: _BaseColor, _COL, _COL_VAR1, _COL_VAR2, _Albedo
    I figured it would work since the Extension were separated by commas, but sadly no luck. Would love this as a feature.

    ReplyDelete
  3. Hey Michel,

    This is a wonderful script to automate good chunk of repeated work. Specially when you have more than just couple of Texture Sets (exported from Substance Painter).

    I have an addendum to your already great add-on. Just made some minor changes here and there, however, your basic concept and idea remain same. How do I share the new nodeset.py file (and possibly with some screenshots, to explain what I did)?

    ReplyDelete
    Replies
    1. Hi monari,

      the script script is part of a GitHub repository so you can simply create a pull-request there so I can have a look. If you are not familiar with git another option might be to send me a Direct Message on BlenderNation (my nickname there is 'varkenvarken') with a link to some cloud storage like dropbox or google drive.
      Or just post the link to that shared file here in the comments :-)

      Delete
    2. i meant BlenderArtists instead of BlenderNation

      Delete
    3. Hi Michel,

      I am not sure if I can make a pull request, as I didn't fork it on GitHub. Instead I just downloaded your file and edited on my local machine without using Git. I am still very new to this, so I might be very ignorant of other possibilities. :p

      So, here is the direct link to the edited file (residing on my repository):
      https://github.com/mon-ari/bpy_utilities/blob/master/nodeset.py

      Inside Cycles Node Material setup, where you have added a functionality to connect all the bitmap texture nodes into their respective sockets of Principled BSDF. That's a great way to automate large chunk of mundane task.

      However, the very first image on this particular post, I see that you might have manually connected the Height Map texture to the Displacement socket of the Material Output node. But I would like to bring your attention to this (https://blender.stackexchange.com/a/16447) by Brecht himself.

      So basically, I have just made a simple addition to extended the functionality of the second option to utilize the Height Map texture as well, along with Normal Map (before plugin into Normal socket of Principled BSDF)

      I have also made some minor adjustment in the Add-on Preferences UI. Please have a look and let me know, what you think about this. :)

      Delete
    4. Hi Monari,

      those are useful additions and I will incorporate them.
      However, although Brecht was right at the time that he wrote it, since 2.78 it is certainly possible to plug in a height map into a displacement socket because micro displacement is working quite well (if you enable it). But if you don't want to use displacement then certainly Brecht's solution is the way to go (In fact those two can actually be used side by side if you want)
      So what I'll probably do, is to make this an option too, so depending on what people need they can simple switch.

      Delete
    5. details on the update are in this new article:

      http://blog.michelanders.nl/2017/08/nodeset-additional-features-and-clean-up.html

      Delete
  4. Thank you Michel. :)

    And that's great to have an option to plug height map into displacement through a multiplier. However, I have had a tough luck getting a satisfying result using Micropolygon Displacement for a very closeup shot of *product renders*. And even using Adaptive Subdivision on top of a nicely topographically done model, produces some artifacts.

    Perhaps, it requires a bit polishing here and there as it's still under Experimental Feature. Anyway, this technique (which resemble LoD) quite handy for terrain, water-bodies and very rough walls, where the base mesh is generally in a simple grid pattern.

    ReplyDelete
    Replies
    1. I know, it is not perfect yet. On of the things is that you still need to switch to/from edit mode if you made changes. Also, for some reason when microdisplacement is use in combination with a normal map, then if you use tangent space for your normal map your get really weird stuff (all balck sometimes) so thatÅ› why I added the option to create normal map nodes with object space mapping set as default.

      Delete