View Full Version : Automated material, node, or envelope import/export

Scott Gammans
07-16-2019, 05:02 PM
Iíve developed a small c# program that generates a set of envelopes for a couple of input channels in 20 different material nodes in one of my models. The output of the program is a set of 20 version 1 *.node files that I can then import into the node editor and hook into the material nodes of my model.

It works just fine, but whenever I regenerate the envelopes (which causes 20 new *.nodes files to be generated), I have a VERY tedious and repetitive-stress-motion-inducing chore of:

Press F5 to see the surface editor
Double click a surface to bring up node editor
Select the node that needs to be replaced
Delete the node (and its inputs and outputs)
Import the new node from the newly-generated *.node file
Reconnect the new node to its inputs and outputs

And then repeat this another 19 times for the other 19 surfaces.

There has GOT to be an easier way to do this. Is there a plugin or obscure command Iím missing somewhere where I can set up a persistent (i.e., ďmemorizedĒ) list of surfaces in my model which, on demand, looks for and replaces certain nodes in their materials with new nodes from a *.nodes file? Iíd even settle for a way to set up easy updating of just the envelopes for certain channels, while leaving the rest of the node (including all those connections) intact.

I know I could probably do this with Python or LScripting; I just donít want to delve into that if thereís already something available thatís already in LW or doesnít cost a hundred bucks. Thanks!

07-17-2019, 04:19 AM
Check out TrueArt's Global Material

It creates one global Node Editor for the all objects the all surfaces (or the one that you want to).

It works with LW 11.x, LW 2015.x and LW 2019.x (separate versions).

Scott Gammans
07-17-2019, 03:41 PM
Thanks. I had heard of their plugin before but it won’t really solve this particular issue (all 20 of the envelopes are different, so applying a class-based nodal system on top of LightWave won’t help). Their solution *would* be useful elsewhere; LightWave’s node editing system cries out for a more object-oriented approach. What gives me a moment’s pause is wondering whether they’re doing something hinky with LightWave’s node editing system to graft their object-oriented material system on top of LightWave’s.

Scott Gammans
07-27-2019, 11:23 AM
Sensei, does Global Materials work with OctaneRender 2018 and the LightWave plugin for OR?

07-27-2019, 09:36 PM
you can also look at nodemeister from dbw .. that one supports octane for sure.

Scott Gammans
07-28-2019, 12:31 AM
It sure looks like what I'm looking for... downloading an evaluation copy now to check it out. I appreciate the tip!

Sensei, if TrueArt's Global Materials works in a similar fashion, supports OctaneRender, and also has an evaluation mode, please let me know.

Thanks guys!

07-28-2019, 03:04 AM
Octane uses some proprietary materials, not LW standard materials.

Scott Gammans
07-28-2019, 11:39 AM
Hi Sensei! Yes, I know; that's why I asked whether TrueArt had worked with OTOY to add support for OctaneRender materials and textures (which db&w did with nodeMeister's 2018.1 point release). Oh well, it was worth a shot; thanks for confirming!

Oliver: After fooling around with nodeMeister I've decided to give it a try. It definitely has its "quirks" but I'd be willing to bet at least some of what I ran into during evaluation could be chalked up to the creaky LightWave SDK (or even OctaneRender's API). (Besides, after living with LightWave on and off since version 7.5, I've gotten into the habit of hitting S, Shift-S, and Alt-S almost reflexively!) But even with the quirks, I can already tell this will save an enormous amount of clicking and copy-pasting. Thanks again for the tip!