magneto Posted January 14, 2012 Share Posted January 14, 2012 (edited) Do you guys think something like this would be useful? I don't mean something that replaces the default connection line colors, but as a toggle where you can turn it on (or make it default if you want) and Houdini tries to color these lines differently that are close to each other so you can see which OP is connected to which at a glance without trying to trace the lines with your eyes. One possible example: Edited January 14, 2012 by magneto 1 Quote Link to comment Share on other sites More sharing options...
Macha Posted January 14, 2012 Share Posted January 14, 2012 Yeah, i thought about something like that the other day. Especially in large shop networks, or when prototyping something and there are so many nodes about, it can be timeconsuming to trace everything. There is a whole bunch of ui stuff that could be useful but I guess it's not a priority on the roadmap for now. Quote Link to comment Share on other sites More sharing options...
magneto Posted January 14, 2012 Author Share Posted January 14, 2012 Thanks man, I agree there could be some good additions. They should still try to squeeze in this sort of improvements kinda like their Drop-on-Wire feature, might look insignificant but very useful. Many different ways to color them though. One would be based on promixity of nearby connection lines. Another one would be like in the original image where one color follows a destination. I think it's still good to get some ideas out so they can see their usefulness, and possibly consider them. Quote Link to comment Share on other sites More sharing options...
hopbin9 Posted January 14, 2012 Share Posted January 14, 2012 I've thought I writing some kind of Python tool in Houdini that would do a better job at organizing a network. The built in auto arrange tool in Houdini really doesn't help. I think line colors would be a good feature, but to new users it could be very confusing when looking at someone else's HIP file. Maybe auto coloring nodes would be better. I'd like to auto color assets that are from OTLs in the project folder one color, and assets from another folder a different color. Quote Link to comment Share on other sites More sharing options...
magneto Posted January 14, 2012 Author Share Posted January 14, 2012 Yes I was thinking some sort of option you can toggle, or a new type of coloring, the default being gray, others would be, color by proximity, color by flow, etc. How do you plan to make an auto layout tool? I always thought automatically laying out a node graph was a hard problem. Is there one in an existing app that does a better job? Like nuke, toxik, etc? Quote Link to comment Share on other sites More sharing options...
rdg Posted January 14, 2012 Share Posted January 14, 2012 I think to remember Graham once showed examples using graphvis[1] or something like it to layout the network. [1] http://www.graphviz.org/ Quote Link to comment Share on other sites More sharing options...
hopbin9 Posted January 14, 2012 Share Posted January 14, 2012 I would try to make the tool favor layout patterns based upon the parent node, rather then layout everything the same. It should also favor straight vertical lines, rather then stair case patterns which is what Houdini's does. I'd also like to have it only organize either all nodes, or the selected nodes, or if just one is select then that node and it's inputs. I picture in my mind, an algorithm that uses multiple passes to arrange the network. The first pass positions each node, and then those nodes are grouped into bounding boxes (a node and it's inputs). The second pass positions those bounding boxes, and the process repeats until there is only one bounding box containing everything. At least in theory. I think Microsoft Visio has a flexible layout tool that supports multiple layout patterns. I'll take a look at that as an example. I've only done assets. Never a tool like this. How would you create something like that in Houdini? Can it still be an asset, and if so, how do you trigger the layout algorithm? Quote Link to comment Share on other sites More sharing options...
graham Posted January 14, 2012 Share Posted January 14, 2012 It was actually Luke Moore who did the layout thing. Check out the last few slides from his Python in Houdini for Technical Directors master class from Siggraph 2007. http://www.sidefx.com/index.php?option=com_content&task=view&id=868&Itemid=344 Quote Link to comment Share on other sites More sharing options...
magneto Posted January 14, 2012 Author Share Posted January 14, 2012 There are some node graph tools on the market, I was researching a while back. MS also has a commercial one I think. That sort of tool would be a shelf like tool binded to a hotkey I think, but I am not sure if you can position OPs from python. I know you can call the layout function, but not sure if you have access to positioning them in absolute coordinates. It probably would. Quote Link to comment Share on other sites More sharing options...
hopbin9 Posted January 14, 2012 Share Posted January 14, 2012 Looks like this is going to be harder then I thought. Quote Link to comment Share on other sites More sharing options...
graham Posted January 14, 2012 Share Posted January 14, 2012 (edited) You can easily get and set node positions wiht hou.Node.position() and hou.Node.setPosition() Edited January 14, 2012 by graham 1 Quote Link to comment Share on other sites More sharing options...
magneto Posted January 14, 2012 Author Share Posted January 14, 2012 You can easily get and set node positions wiht hou.Node.position() and hou.Node.setPosition() Awesome man, I knew it would be possible. Now the ball is on hopbin's court Quote Link to comment Share on other sites More sharing options...
hopbin9 Posted January 14, 2012 Share Posted January 14, 2012 Awesome man, I knew it would be possible. Now the ball is on hopbin's court Oh it's on! What I figure is a good layout tool should not re-arrange all the nodes. If you've position things around, then you tent to want them to stay that way. The tool should basically clean up the layout. I'm still thinking this threw... Another completely different idea, is an adaptive tool that learns. You teach it what your preferred layout designs are and it learns by examples. So that each artist/studio can impose it's own diagram rules. Still, it's just an idea and I'm likely making it overly complex, or it's just all the caffeine talking. Quote Link to comment Share on other sites More sharing options...
hopbin9 Posted January 14, 2012 Share Posted January 14, 2012 I found this Python library. http://code.google.com/p/python-graph/ I picked it because it's a graph tool written entirely in Python. So it should work on different OS platforms that Houdini runs on. I know how to embed an external Python script file into an asset, by adding a custom script file and then loading it via the hdamodel(). I've never tried to load a library before in Houdini. Not even sure if it's possible? How do you embed multiple files and folders? Quote Link to comment Share on other sites More sharing options...
magneto Posted January 14, 2012 Author Share Posted January 14, 2012 (edited) Anything is possible It would be hard to distinguish which nodes should not be touched IMO. EDIT: I have never installed libraries into houdini but I assume you just drop them into the python folder inside houdini install folder? Graham would know more about this for sure. Edited January 14, 2012 by magneto Quote Link to comment Share on other sites More sharing options...
Macha Posted January 15, 2012 Share Posted January 15, 2012 Hm. I'm not sure that coloring by pattern would be all that useful. It sounds like something that is too unstable, too individual, too many variables, too complicated, too ambitious. As a user you'll likely spend time messing with it, remembering it, conforming to it, pleading with it, and eventually cursing it. Coloring streams of nodes, highlighting paths, annotating connections, dependency graphs, "heat graphs" (H12): those may be more useful, I think. Quote Link to comment Share on other sites More sharing options...
magneto Posted January 16, 2012 Author Share Posted January 16, 2012 Coloring streams of nodes, highlighting paths, annotating connections, dependency graphs, "heat graphs" (H12): those may be more useful, I think. Some good ideas there Macha. Maybe we should make some mock ups for Sidefx? IMO half of the work is solving the design side. If that's done implementation should be pretty straightforward. I will also do some brainstorming to see what I can come up with. Quote Link to comment Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.