Best Practices - Organizing Network Graph Wires

   943   6   2
User Avatar
Member
29 posts
Joined: 11月 2018
Offline
Does anyone have ideas on how to keep network graphs tidy?

I'm working in a COP network (Copernicus) and despite trying to keep it clean with network boxes and dots, I'm still finding it pretty chaotic with visual clutter and crossing wires.

Working in the graph becomes problematic too. When moving nodes around, they sometimes accidentally snap onto stray crossing wires (where the node takes the crossing wire as an input) when all I want is to move it to a different spot on the canvas.

In COPs, inputs all come into the graph from the same import node, so if an AOV is used multiple times in the network, it's hard not having wires cross.

I am wondering if it's possible to have a given AOV come into the network in more than one node? On second thought, I can see this causing more problems than it's worth because if the number of AOVs changes, you'd have to update all the import nodes separately.

I am used to working in other editors, like the material editor in UE, where you can drop down a named reroute that allows one section of a graph to be referenced somewhere else in the graph by name. Is there something like this in COPs?

Any thoughts?
Edited by davidbk - 2024年9月16日 01:06:23

Attachments:
Screenshot 2024-09-16 000345.png (207.5 KB)

User Avatar
Member
66 posts
Joined: 5月 2019
Offline
I think of a node graph as a circuit. See the last image for reference.

davidbk
When moving nodes around, they sometimes accidentally snap onto stray crossing wires

Try LMB on the wire while holding ALT button. It will create a pin on a wire. You can create as many pins as you want.

davidbk
I am wondering if it's possible to have a given AOV come into the network in more than one node?

My first thought is to create multiple Nulls (and name it) after the initial file with all AOVs. Plug each AOV in the corresponding Null.

davidbk
I am used to working in other editors, like the material editor in UE, where you can drop down a named reroute that allows one section of a graph to be referenced somewhere else in the graph by name. Is there something like this in COPs?

I believe no, yet.

I feel Nulls are similar but there's no "object merge" in COPs like in SOPs land where you can create a Null, and use Object Merge to reference that Null which pulls all of the data from a specific node branch.

I feel you're talking about something like Substance Designer with its Portan Dot node [helpx.adobe.com]

Keep in mind that COPs v2 is still in Beta and I assume many features will be in upcoming versions. Epic Games worked on Material Editor for quite a while..


This is how I tidy COPs and node graphs in general

Using big text and numeration flow (step 1-2-3-4-5....) helps me a lot to see the flow from start to end of the whole node graph.



Helps to spread wires:



This is essentially the Houdini/UE Material Editor/Substance Designer/Gaea/Blender Geometry Nodes node graph.

Edited by AnimGraphLab - 2024年9月16日 02:00:37

Attachments:
copsGraph.png (123.7 KB)
copsGraph1.png (38.2 KB)
circut.png (21.6 KB)

Generalist. Transforming still images to 3D animation 🔮
Socials: https://linktr.ee/AnimGraphLab [linktr.ee]
User Avatar
Member
29 posts
Joined: 11月 2018
Offline
Thanks so much @AnimGraphLab! This is very thorough and helpful.

Your node graph looks very tidy, but I question how easy it is to maintain cleanliness like that when testing, iterating, and when you don't necessarily know the order of operations in advance. For me, the process of working on a graph feels like it involves a bit too much clicking and noodling with wires.

Dots are useful, but for one, I find having those elbow dots floating in empty space to be difficult to manage, especially if a number of nodes need to be inserted in the gap inbetween.

Another issue is that I find the wires tend to be hard to see when they span across large distances. Is there a setting for wire opacity somewhere?
User Avatar
Member
172 posts
Joined: 5月 2021
Offline
Maybe these nodes can help break-down the network into blocks. You can then invoke a block elsewhere, like passing to an 'object merge' in SOP land. You can also get the compute graph of the block as geo for metadata etc.

Edited by PHENOMDESIGN - 2024年9月16日 20:00:47

Attachments:
Screenshot 2024-09-16 at 7.54.48PM.png (92.7 KB)

PHENOM(enological) DESIGN;
Experimental phenomenology (study of experience) is a category of philosophy evidencing intentional variations of subjective human experiencing where both the independent and dependent variable are phenomenological. Lundh 2020
User Avatar
Member
66 posts
Joined: 5月 2019
Offline
davidbk
how easy it is to maintain cleanliness like that when testing, iterating, and when you don't necessarily know the order of operations in advance

By allowing yourself to get confused, which may lead to understanding how to get out of it (workflow)

I don't have a simple answer as I feel that it's subjective and varies from person to person


davidbk
For me, the process of working on a graph feels like it involves a bit too much clicking and noodling with wires.

It is true. It is how it works, for now. Is that much different in UE Material Editor? Curious.

davidbk
Another issue is that I find the wires tend to be hard to see when they span across large distances. Is there a setting for wire opacity somewhere?

On the attached image is it not your network view?

If not, to change wire opacity in the network view:
  1. however over the network view.
  2. click the D key.
  3. General tab -> Long Wire Fading parameter. Set it to 0.
Generalist. Transforming still images to 3D animation 🔮
Socials: https://linktr.ee/AnimGraphLab [linktr.ee]
User Avatar
Member
29 posts
Joined: 11月 2018
Offline
@AnimGraphLab I'll have to pay attention to the exact differences between UE and Houdini. But for sure, UE's named reroute is very handy for keeping wires tidy. One thing I know could be improved in Houdini is if you zoom out on a network graph it's almost impossible to select and move a dot. It always seems to attempt to drag a new wire from the dot rather than selecting the dot itself, then it deletes the dot when you release the mouse. This forces you to constantly be zooming in and out to reposition dots.

Thanks for the opacity setting! That helps!
User Avatar
Member
66 posts
Joined: 5月 2019
Offline
I suggest to send a feature request to SideFX [www.sidefx.com] directly as it may be the fastest way to get what you're looking for

davidbk
It always seems to attempt to drag a new wire from the dot rather than selecting the dot itself
It is true.
Edited by AnimGraphLab - 2024年9月18日 14:01:16
Generalist. Transforming still images to 3D animation 🔮
Socials: https://linktr.ee/AnimGraphLab [linktr.ee]
  • Quick Links