some Ideas

   4319   6   1
User Avatar
Member
98 posts
Joined: 1月 2008
Offline
Hi,

If I drive one paramteter with another via the ch() expression it would be nice to see that relationship in the networkt editor as shown in this picture.



I thought about some kind of expression utility node. You could drag parameters onto the node so you can use them in a expression inside the node.



So you can visually see the realtionship between some nodes.

The results would appear as outputs form the expression utility node.
Also the ability to give the expression node access to another nodes local variables would be handy. As the network view would get really cluttert there should also be a possibility to toogle the visibility of such parameter conncetions on or off.
User Avatar
Member
8594 posts
Joined: 7月 2007
Offline
this would be really nice to have, it can be new context

i really like cinema4d's expresso which it exactly like this, that you connect parameters with math nodes and you can drive otrher parameters with them
something similar is Softimage ICE with (currently unsupported) kinematics turned on

the closest to this in houdini are CHOPs but i miss low level nodes in there for vector and matrix operations and many others needed to build really powerful relationships. There are VOPs for CHOPs, but i do not know how to use them for e.g. matrrix operations since i can only output current channel and repeat the operation for every channel seem to me very ineffective.
I have noticed the new Vector CHOP in 10.0.473 which can be very cool if we can get more CHOP arsenal to work with, but i still think the new context designed to process parameters in the way like VOPs do would be very nice

anyways you can enable relationship lines in your network editor by pressing D over it and from Dependency Tab check all options (maybe except the last one)
Tomas Slancik
FX Supervisor
Method Studios, NY
User Avatar
スタッフ
2540 posts
Joined: 7月 2005
Offline
Along with the network dependency display options you can also RMB on a node and choose the Dependencies option. There you can see every driver and driven relationship for that node.

Pretty much every other app out there, if you start doing radical changes, dependencies may break leaving you a mess on your hands. Not so with Houdini. References and dependencies are handled for you. The idea is you do the dependency once then you tweak away on the expressions and parameters.

As for inserting nodes just to process data, those nodes already exist: Vertex, Point, Primitive. You can also put a VOP SOP down to process the data. Think of the entire SOP network which can contain CHOPs, POPs, DOPs, Output Drivers, etc. “as” ICE or Expresso.

In Houdini the links simply represent a data dependency. Nothing more, nothing less. A link simply means that the child node requests data from the parent node. If the parent is time dependent (mmb on the node to see it's state) then the child will be forced to re-evaluate on each cook. If not then not. So the only type of node you can insert is a node that modifies the data. Hence the Vertex, Point, Primitive, and at a more general level the Attribute * SOPs and Python SOPs.

It is quite common is to add spare or custom Parameters to existing nodes to expand their interface. You can access each node's parameters by selecting it and then in the parameter interface for that node, press the gear and choose “Edit Parameter Interface”. You can hide existing parameters and add your own. Completely customize the existing nodes.

To make networks more accessible you may want to start coloring nodes based on how you edit the network. If you choose the Material VOP standards then Light Yellow is for Nodes that contain parameters that you want to edit/tweak, Green for nodes that create attributes, etc.
Putting nodes in colored containers and adding sticky notes are also good ways to comment the networks. Heck you can even put values in the node names and reference that value inside expressions. Everything is fair game in a Houdini network because any dependency should cause a cook (if not it's either a bug or you are lobbying for something out there).

Nothing is stopping you from inserting your own HDA that contains no nodes and exists just to provide a parameter interface. But…

This is why Houdini has evolved to it's current state where you have HDA's that contain the parameter or “control” interface to centralize the control interface for your network.
There's at least one school like the old school!
User Avatar
Member
127 posts
Joined: 7月 2005
Offline
Very true,
however what would be nice though is the ability to MMB on the dependency line (or node highlight) in the network editor and have a little summary of the dependencies causing this line (or node highlight) to be draw. Much the same way you get a pop-up when MMB on an actual node.
This would make gettting an overview of how someone else's network or hda is put together faster. Now one has to dive into every node and in the case of multi tabbed parameter pages then go looking for the expressions, assuming the parameters are actually visible and not some spares hidden from the gui.
Also when a node is being referenced in some other subnet it's not that straightforward to just see where the ref is coming from without stepping out of the node and following the crums.

Edit: Btw, also as someone reasonably technical coming from xsi I had a tendency to jump into vex and python trying to solve problems by throwing math and code at it. However as I got to know the toolset better I learned that the nodes available can take care of a lot of the heavy lifting for you. They are not all intuitively named but there is a lot of functionality in many of them. Using the low level stuff only when needed made me a lot more productive in the end.

Best regards,
Fabian
Edited by - 2009年11月29日 09:22:22
User Avatar
Member
7733 posts
Joined: 7月 2005
Offline
orr
So you can visually see the realtionship between some nodes.

How do you propose to deal with expressions that reference nodes in other subnetworks? eg. SOPs referencing from DOPs
User Avatar
Member
98 posts
Joined: 1月 2008
Offline
Ah okay. I already gussed that someone would come up and telling me that there were quiet a bazzillion ways of doing this . I am very glad you gave me this insights (this goes especially at jeff). I could also use nulls and add parameters to keep my calculations at one place … though I don't know if that makes so much sense. Houdini seems give me to much freedom .

How do you propose to deal with expressions that reference nodes in other subnetworks? eg. SOPs referencing from DOPs

Hmm, just like you already did it with HDAs. Just some greyboxes labeled with the path where the parameter came from. Those grey boxes would be connceted to nodes referencing the parameter. Doubelclick one of those boxes to directly get to the subnetwork. One could also just visualize a wire coming out of the subnetwork connected the the node. But I didn't think it through yet.

Also(!) really I don't have any professional Experience so maybe these Ideas where just Bullshit ;D
User Avatar
Member
12490 posts
Joined: 7月 2005
Offline
edward
orr
So you can visually see the realtionship between some nodes.

How do you propose to deal with expressions that reference nodes in other subnetworks? eg. SOPs referencing from DOPs

I honestly do wish there was a “generic” node context which would display any node type and link dependancies across contexts. These could be simple blocks without regular input/output connectors, and instead a bunch of lines with floating text and color coding. Basically like a live version of an opdepend graphviz layout.

Selecting the operator could invoke it's parameter dialog. Nodes might have to reorganize dynamically since there is no sensible spatial connection across contexts.

An easy-to-invoke, highly interactive dependancy network like this could really assist navigation if done well, I'm sure.
Jason Iversen, Technology Supervisor & FX Pipeline/R+D Lead @ Weta FX
also, http://www.odforce.net [www.odforce.net]
  • Quick Links