RFE: Scripting the UI

   26248   37   6
User Avatar
Member
7025 posts
Joined: July 2005
Offline
Hello,
It would be really, really helpful if you could set up a pane exactly they way you want, then run some Hscript that would show you all the commands needed to exactly reproduce it. Currently, you have to fight your way through the multiple levels of arcane connections (viewls, pane, and God knows what else) just to do something like set up a floating pane with a few Custom Panel buttons. It's annoying )

Cheers,

Peter B
User Avatar
Member
581 posts
Joined: July 2005
Offline
I am agree with Peter.
I think that MEL is more powerful in this side, HScript not seems to be designed to create ui, i think it is more designed to automate processes.
I think that it would be great a more “all pourpose” scripting in Houdini.
Discussions about integrating Python, perl or something else have been done in other threads, i don't know if SESI has plans about it.
The solution of using TCL i think that is not well integrating an clear, i think that Houdini needs something like Python o Ruby, with the needed modules to allow the customization of everything into Houdini.
Un saludo
Best Regards

Pablo Giménez
User Avatar
Staff
2540 posts
Joined: July 2005
Offline
The .desktop files do contain some of the commands. Not very convenient but most of it is there.

The only problem with desktops is that the “split” command is not a valid hscript command. There is the viewlayout -s command to split panes.

I submitted an RFE to allow us to quickly dump to the textport the commands required to recreate the current desktop. It “should” be the .desktop file but not quite. ID=21135
There's at least one school like the old school!
User Avatar
Member
581 posts
Joined: July 2005
Offline
Thanks jeff.
But how can i add a button for example to any pane in a desktop?
I have to create a pane oftype uicustom and open the custom panel i want?
Un saludo
Best Regards

Pablo Giménez
User Avatar
Staff
2540 posts
Joined: July 2005
Offline
Not possible in H8. You can't add your own scriptable button to the UI.

One way to do this is to add an operator to the toolbar. The toolbar doesn't take scripts but you could rig up an asset that executes an on-created script that first executes what you want then deletes itself. I do this for my own stuff just because it does the job but it isn't elegant. It is in fact a very well executed belly-flop dive.

An extension to this is to place an HDA in your network that then has an interface that executes scripts. I too do this. One example I use quite often when modelling (yes I model for pleasure in Houdini) is to place one or more of my Viewport Background HDA's to control the background images. I have attached this for you to see. Yes I need to manage it in the network but it works. Another wonderful belly-flop with a back twist. :wink:

The other way native to Houdini is as you mentioned to use a custom panel. These can be very powerful and dynamic but require some management. All UI in any application requires some managament. Custom Panels present no greater hurdle. Work great when dialed in but not very seamless. They do look and behave different than the standard UI elements in Houdini.

Another approach is to set up the viewport to execute and control parameters. We present limitations here as well. If you want to execute a script, you need an object with a select script bound to it. You could present persistent HUD's to control the values. How you set this up could be once again to use scripts bound to HDA's in your network. Handles in the viewport don't execute scripts. Not even callbacks bound to parameters on the handle. Complete bummer.


All in all, our UI isn't very directly configurable and you have to be a bit clever to get it dialed in and let the networks give you the power and flexibility. I believe that you have to learn to at least manipulate the networks as a new Houdini user placed infront of a tool developed by a Houdini TD for production purposes. Don't completely dumb-down the tools.
There's at least one school like the old school!
User Avatar
Member
581 posts
Joined: July 2005
Offline
One way to do this is to add an operator to the toolbar. The toolbar doesn't take scripts but you could rig up an asset that executes an on-created script that first executes what you want then deletes itself. I do this for my own stuff just because it does the job but it isn't elegant. It is in fact a very well executed belly-flop dive.
Do you mean to make an empty HDA that has a creation script and a destruction script, so once it is created it runs the scruipt that do you want an then call to the destruction script?
Not too bad but it is a hack. I think that it would be very interesting to have the ability to bind toolbars buttons to scripts.
No i am using the custom panel approach, for modeling too .
Houdini for modelling is totally different but very powerfull too when you control it, but this is another history.
Anyway i still think that have more control over the ui via scriptting is very important.
Thanks Jeff.
Un saludo
Best Regards

Pablo Giménez
User Avatar
Staff
2540 posts
Joined: July 2005
Offline
Do you mean to make an empty HDA that has a creation script and a destruction script, so once it is created it runs the scruipt that do you want an then call to the destruction script?

Yes.

Not too bad but it is a hack. I think that it would be very interesting to have the ability to bind toolbars buttons to scripts.

Yes. Me too.

No i am using the custom panel approach, for modeling too .
Houdini for modelling is totally different but very powerfull too when you control it, but this is another history.

Free-form modelling in Houdini? I have force fed the Houdini tools to form a linear chain of SOPs when modelling. I have wrapped all the SOP generators (sphere, grid, tube, etc.) in to HDA's that take input geometry and just add the new primitive to the dataset. I querry the dimensions of the viewport and plop it right in the center of the view, just where you want it. There is an implicit Merge operation in the HDA. Just one way to approach it I guess.

The only bugger generator SOP is the darn Curve SOP. It's there. It can take input and add itself but I can't wrap it in an HDA. I have to turn on consolidate in snap just to get it to play nicely.

That way I don't have to manage a branching network when modelling. Just full-screen modelling. Yes, another brute-force method but baby it works for me.

Then there are the poly tools… No implicit fusing after operations. No in-your-face rendering of backwards facing polygons. Our snapping tools are not very seamless. No knife tool to freely dice up polys. No nice clean way to fill in holes manually. Modelling with Polygons just takes a bit more work in Houdini. Enough to annoy Modellers from other packages.

Then again, who uses Houdini to model in production? Is there really an interest to make traditional modelling in Houdini work in it's current niche or is it just a case of “if you build it, they will come” field of dreams?
There's at least one school like the old school!
User Avatar
Member
581 posts
Joined: July 2005
Offline
Free-form modelling in Houdini? I have force fed the Houdini tools to form a linear chain of SOPs when modelling. I have wrapped all the SOP generators (sphere, grid, tube, etc.) in to HDA's that take input geometry and just add the new primitive to the dataset. I querry the dimensions of the viewport and plop it right in the center of the view, just where you want it. There is an implicit Merge operation in the HDA. Just one way to approach it I guess.
Please Jeff can you post any of this HDAs as an example, or upload to the exchange, I am very interested in it.
That way I don't have to manage a branching network when modelling. Just full-screen modelling. Yes, another brute-force method but baby it works for me.
Sorry but i don't understand how do you do it.
Then again, who uses Houdini to model in production? Is there really an interest to make traditional modelling in Houdini work in it's current niche or is it just a case of “if you build it, they will come” field of dreams?
Yes Jeff, modelling was always the weak side of Houdini. But maybe this is one reason to improve it. Modelling in Houdini is not so usual due to the Houdini procedural approach or due to the few tools it has and the bugs of these tools?
I think that the second. For modelling Houdini adds a new approach that no one other modeller has, and i think that it is a plus. You can do with Houdini things that are impossible with other modellers, and if we speak about flexibility, houdini wins.
But then the problem cames, like you say, you don't have the toolbox like in any other package, or some tools simply don't work, etc …
Un saludo
Best Regards

Pablo Giménez
User Avatar
Member
16 posts
Joined:
Offline
Hello,

I've just started getting into houdini and i believe it could indeed benefit a little from a better modeling toolset, at least for people starting in 3D. If you're just starting in 3D i think it's important to have some modeling abilities even if your primary goal is animation or effects, I believe that if houdini wanted to have more people using it, and i don't mean just people in film production but even freelancer users using Select and Escape, they could actually benefit from better modeling tools, as that would not scare starting people away from houdini (like it does now many times), instead allowing people to start using it in a much more common way for beginners that would then slowly start working more and more in the procedural approach. Just my 2 cents anyway, Houdini rocks anyway

Cheers.
User Avatar
Member
4261 posts
Joined: July 2005
Offline
strayDog
Hello,

I've just started getting into houdini and i believe it could indeed benefit a little from a better modeling toolset, at least for people starting in 3D.

Just curious, what modelling tools is Houdini lacking? Which tools need to be improved?
if(coffees<2,round(float),float)
User Avatar
Member
412 posts
Joined: July 2005
Offline
Then again, who uses Houdini to model in production?

Yea, but i really don't like this approach.. you could have said the same thing about houdini's character tools 3/4 years ago.. “Who really sets up and animates chars with Houdini in production, anyways?” And there it would have sat and Houdini would still be regarded as the “program that does effects shots” and nothing more.. But look at where it is now and how great those tools have become. It's even being used in production now.. And as for today you could say the same about modeling.. You could say the same about Halo.. I really wonder how much compositing halo is used in production.. So should it never get a good color corrector? Keyer? Tracker?

Anyways, these are just my humble opinions.. :roll:
Dave Quirus
User Avatar
Member
212 posts
Joined: July 2005
Offline
Then again, who uses Houdini to model in production? Is there really an interest to make traditional modelling in Houdini work in it's current niche or is it just a case of “if you build it, they will come” field of dreams?

Jeff,
Come on man.. you have to be kidding right?

Model, texture, rig, animate and light in Houdini…. try 1600+ shots worth of stuff. Sure not all the characters were modeled “fresh” in Houdini, but the last few we did were. All were rigged. All were animated. All were lit. Renderman did the rendering. Sadly mantra and halo were not up to the task for what we needed at the time ( but things are changing )

I would love to have some improvements to the modeler for speed and also so you could use more of the modelingSOPs on deforming geometry. Many of them are tolerance based and do not live happily on deforming geometry. The tolerances in the NURBS modeling tools has always been a bit of an issue, but with polys and subD rendering you can get around using them. Personally I would love for SESI to do something totally crazy and out there… 3dPaint I would love it if we could take a model and use Houdini/Vex/Mantra/Rman to set up your shader ala VOPs and then paint away and do your texturing… I would like that more and scriptable UI. That stuff can be done in java/tcl-tk/ etc.. if really want to do it.

(now I'll duck behind a large rock)
-k
User Avatar
Staff
2540 posts
Joined: July 2005
Offline
Yep. I see your point Ken. Houdini CAN do it all and more. I can model just fine in Houdini. Many others can model as well. Houdini is just different enough to alienate some modellers used to a more traditional approach to building geometry. Somehow Houdini seems to really tick some more basic traditional modellers off.

As well, 3D paint would be a very good thing. I don't see that being added in the near future.
There's at least one school like the old school!
User Avatar
Member
2199 posts
Joined: July 2005
Online
Hell yeah who'd be crazy enough to model in PRISMs :roll:



Oh sorry you are talking about Houdini, that too!
With a procedural polysplit I'd be happier, fast sub'ds but it's mostly there. Always room for improvement though.
The trick is finding just the right hammer for every screw
User Avatar
Member
12467 posts
Joined: July 2005
Offline
Houdini seems perfectly capable when modeling one thing at a time.

However, hopping between models and performing modeling operations on several objects at once is not there at all (even the most basic operation to swap between modeling geometry in the SOPs viewport of Right-Click-Hold->PopupMenu->Edit Geometry is terrribly slow because it requires you to wait and forces extraneous navigation and menu selections).

A lot of modeling needs fast robust feedback and needs to have a convenient workflow when dealing with many objects. I think a lot of this can be improved pretty easily for H9 if you make a concerted effort to do it though! No doubt an improvement to this would also enable animtors and effects artists work faster too because it'll be implemented in SESI's general style thats often MORE than anyone expected.
Jason Iversen, Technology Supervisor & FX Pipeline/R+D Lead @ Weta FX
also, http://www.odforce.net [www.odforce.net]
User Avatar
Member
581 posts
Joined: July 2005
Offline
I am agree with Jason and Simon, Houdini needs improvement in some modeling tools and in the workflow.
But all of us is missing the benefits of the procedural approach, no other have it, i think that to try to apply the same techniques that are good for the classic modelers to Houdini is an error, no other modeler uses precedalurism, so the basis are different.
For example you don't need work in a lineal fashion, and almost all the known techniques are based in a lineal workflow, in Houdini you can model in a non-lineal way, This is enough to change your point of view about modeling.
And enough to show people other ways to do the things.
Yes Modo y great ·D Studio is the best for polygons, modeler is very good too, and Mata the king in NURBS, but all of them work more or less in the same way, some tools change, some parts of the workflow, but basically the same.
But Houdini is complitaly different and there is the corner stone of the history.
I am not an expert about modeling so flame me if I am making a mistake is only my opinion.
Un saludo
Best Regards

Pablo Giménez
User Avatar
Member
2199 posts
Joined: July 2005
Online
I think you are right, and so is Jason, it would be great to have quicker access to multiple objects. There is a big thread about this lurking around somewhere. Hope Sesi deal with it at some point.

In the meantime we use Houdini for very complex modelling because of the ability to update things procedurally, you don't need to build the whole thing at once and you can easily try out versions. Also, when things get really complex going in with an edit sop just doesn't cut it. I pretty much see all other modelling packages as some kind of edit sop - ie pretty much destructive, great for working with one surface and a nightmare when life gets hard.

Given that is the case Houdini is still efficient for big complex models, even if the individual tools might seem slower ( like a brain versus a computer), but like the man says it could be even more efficient with access to multiple objects and some nice speed improvements.

I don't think there is much in the way of “missing” tools just other ways to impliment and improve what is there.

Sorry this is going off thread a bit. Someone rescue it.
The trick is finding just the right hammer for every screw
User Avatar
Member
557 posts
Joined: July 2005
Offline
I submitted an RFE to allow us to quickly dump to the textport the commands required to recreate the current desktop. It “should” be the .desktop file but not quite. ID=21135

Where is this file? Do you mean the files in $HH/desktop? Or something else?
User Avatar
Staff
5158 posts
Joined: July 2005
Offline
The desktop files are sort of an odd combination of a .ui file and hscript commands. ie:
split 0.712816 H {
pane pane4 -a 1 -l 4 -H /img/img1/ -T COP2 -m imageview
split 0.5 V {
pane pane3 -a 0 -l 4 -H /img/img1/ -T COP2 -m parmeditor
pane pane2 -a 1 -l 1 -H /img/img1/ -T COP2 -m neteditor
}
}

The ‘pane’ lines are valid hscript commands. The split … { } defines the pane hierarchy. Desktop files are parsed by special code, which doesn't make them very well suited to scripting, unfortunately.
User Avatar
Member
2624 posts
Joined: Aug. 2006
Offline
Wolfwood just off the top of my head , a polygon slice / knife tool would be nice to have for modelling.
If anything the one thing I want above all others is the ability to script ala maya …

R
Gone fishing
  • Quick Links