A quality o life request

Started by Nala1977, October 15, 2021, 04:05:58 pm

Previous topic - Next topic

Nala1977

so i dont know where to put a request but i'll just write it down here.
What i find very hard sometimes in terragen is browsing and navigating on the nodes, what i mean is, i really miss the possibility of nesting nodes creating "compuounds" where you can expose the parameter you want, in a fast and intuitive way.

sometimes when i bought some stuff on gumroad and you open up the node tree there are so many nodes that is an headache to navigate into, you have to look one by one, i find this very  time consuming and unneded if we would have a better node organization, even a colorize for node, the ability to change its color instea of that "group" background transparent window that it just gets on the way, especially because you can click it.

I really feel Terragen needs a more streamlined and intuitive way of working and refreshing the node tree with some adjustments and easy node editing would  probably go a long way.

Dune

You can nest nodes in groups, and if you arrange those smartly it'll give you quite an easy overview. Furthermore, giving each node an extensive name, sometimes even with preferred values, will help a lot too, to find what node does what. And you can add notes beside nodes, with further explanation.
It's never been a problem for me, even with the most complicated wiring, though I must admit some wiring with a lot of intricate masking blues takes a while to understand again for reworking after a year or so.

Nala1977

so how do you nest nodes? like take 10 nodes that creates a terrain and merge them down into a single node with parameters?

Dune

You could do that indeed, or just keep some nodes with parameters needing changes outside and put nodes with kind of static parameters inside a group and relink. Then you can have a group with maybe 5 nodes (blues or reds) or so, and 10 inside to decrease clutter.
Though I often prefer just to group nodes that do 'one thing', to keep a complete oversight of all nodes.
Sometimes you can have 20 or more (blue) nodes doing something and you only need the final color adjust or transform shader for adjustment. Then you can CTRL+X all other nodes, put (CTRL+V) them inside the final, and relink from outside. Then you have just one node, rest inside.

Nala1977

Quote from: Dune on October 17, 2021, 08:54:30 amYou could do that indeed, or just keep some nodes with parameters needing changes outside and put nodes with kind of static parameters inside a group and relink. Then you can have a group with maybe 5 nodes (blues or reds) or so, and 10 inside to decrease clutter.
Though I often prefer just to group nodes that do 'one thing', to keep a complete oversight of all nodes.
Sometimes you can have 20 or more (blue) nodes doing something and you only need the final color adjust or transform shader for adjustment. Then you can CTRL+X all other nodes, put (CTRL+V) them inside the final, and relink from outside. Then you have just one node, rest inside.
but i do not understand how do you nest node inside another node, lets say i have 5 nodes that affect displacement i want to group them all into a single node, how do i do that?

Dune

You CTRL+X the ones you want inside the node. Then click on the + of the node (if it's there), or rightclick and go internal. Then you see an empty space. CTRL+V and your nodes appear there. Then remember the last node (that needs to be attached to say a child input of a surface shader, or the input of a color adjust or function input of a displacement shader), go outside again, and hover or rightclick over the input you want that last, now internal node attached to, find it in the list that appears under the name of that node, and select the node name to be attached. Then the outside input triangle dissappears. If you go internal again, you'll see the last node attached to the child or so.
I'm sorry, there's no easier way to explain this, so I hope you get the gist.

Nala1977

Quote from: Dune on October 18, 2021, 10:54:49 amYou CTRL+X the ones you want inside the node. Then click on the + of the node (if it's there), or rightclick and go internal. Then you see an empty space. CTRL+V and your nodes appear there. Then remember the last node (that needs to be attached to say a child input of a surface shader, or the input of a color adjust or function input of a displacement shader), go outside again, and hover or rightclick over the input you want that last, now internal node attached to, find it in the list that appears under the name of that node, and select the node name to be attached. Then the outside input triangle dissappears. If you go internal again, you'll see the last node attached to the child or so.
I'm sorry, there's no easier way to explain this, so I hope you get the gist.
ok i got it, quite a non intuitive way but okay, thanks Dune-

digitalguru

I use internal groups a lot. I usually add a suffix "_OUT" for the last node to be connected outside the group.

And if there's a lot of nodes inside the group, you can prefix the node name with "-" and it'll stay at the top of a list when you're searching for it.

WAS

October 18, 2021, 02:53:48 pm #8 Last Edit: October 18, 2021, 02:56:58 pm by WAS
The real issue is in these latest Terragen releases, nested nodes within nested nodes get disconnected despite unique naming. So you can't further organize stuff leaving only parameters exposed within the first nested node, and all the functions within another (like I did with my version of the Terracing effect function). Probably 80% of my TGC clipfiles meant to be easy and save time, have to be reset, and if you forget how it's setup, well, good luck. Lol

I am not sure but it sounds like Terragen is using a brute force method of reading XML, or what is now considered legacy for other languages by reading the file as a DOM instead of further parsing it as pathing system (like xpath) which handles not only tags with the same names/values betters, but is is more exacting because you can query the document instead of parsing through it line by line, so it's much faster (meaning TG's node network would be much more responsive).