The standards of Character Animation in Houdini at the moment?

   3104   5   1
User Avatar
Member
339 posts
Joined: June 2013
Offline
I've been looking into Houdini for what is most fun: All that SOP level magic. But I'm back on track on what I came here for initially: I love to work for character animation outputs but, XSI is “dead”, I'm avoiding Maya (probably shooting my foot) and I was wishing Houdini would be my new production hub? (Which at the moment doesn't seem to make much sense in the CA specific job market, right?).
I was contacted by a studio that produces animated TV shows, they use MAX but are really looking into jumping out due to the licensing changes but without a clear picture of what to jump into, so I'm looking into having an informed opinion.

I've seen the Rigging MasterClass, the “Outside” short crew video, and read some threads but still don't think I've grasped well Houdini's support and potential, since there aren't actually many Houdini CA breakdowns out there…
So I first ask you, specially to those that went on that adventure, what is in general the best and the worst about using Houdini for “hero” character animation work-flows, right now?

Next I'll point out some specific points so I have my assumptions tested by you.

Rigging
- No script listener, right? Which makes it hard for exporadic scripters to pick up their own actions and automate them.
- Doesn't seem that Bundles can retrieve and override properties of their items in bulk across scene hierarchies like in XSI. Bundles seem to be atm just a multi-selection shortcut, right? Can't use VEX/VOPs to import an array of data from a bundle of items. Grouping items is a very powerful way to procedurally process data from a collection of ordered items. I like do solve a lot of rigging problems in abstraction (XSI ICE) but driven by items or collections of items in the scene, and I can't seem to be able to port that into Houdini.
- I'm still grasping Houdini Scene Graph and while I love nodes, feels a bit strange to not be able to see an hierarchy also as a cascading list. Am I missing something?

Animation:
- How can one be at a certain frame and set keys on specific channels on another frame using the current pose? Like when, say you want to animate something that bounces, so you are at frame 0 and want to set the same value on the Trasnlation.Y channel at say frame 50.
- Gizmo is very easily mis-clicked. Would be nice to have the option to increase it's radius, and regardless of that still perform screen space transform if clicked outside of range and also have the gizmo still being drawn even if the item is out of the viewport.
- I tried the MasterClass rig and the included rigs and by shortcut or menu click is not possible to Reset a controller when selected, probably due to their link to a panel. Is this a standard, how do animators put controllers in rest? In XSI I would set up the numpad and a combination of keys to either put all transformers at rest, just one of them or just a single channel of one of them.
- I didn't grasp if there's a way to have a layer timeline editor where you can blend in and out of captured poses/actions/animation blocks/clip as layers. When applying a clip pose they seem burned into the controller, but maybe I'm missing something.

Let me know. Thank you!
Edited by probiner - July 17, 2017 05:46:36
User Avatar
Member
402 posts
Joined: June 2014
Offline
Hi probiner,

I am also pursuing the same adventure, and I've been finding the rigging side of things to be very rewarding, albeit that those rewards can be fairly hard-won.

Re the bundles and editing multiple parms, you can use bundles as (like you say) a selection shortcut and then use the parameter spreadsheet to edit the parameters you want. Unfortunately, at the moment it seems like multiple parm selection in that spreadsheet is limited to selecting all parms of the same name (clicking on the column heading).

I agree completely that some kind of “tree” view for object hierarchy would be very useful. The trouble here is that houdini has slightly mixed views on what a “parent” is… a good example of this is in the python methods where hou.Node.parent() refers to the node that contains that node, not the node that passes it's transforms on to it via a connection (what we'd normally call parenting in a rigging context)… the tree view in houdini also reflects this and the “hierarchy” is presented as nodes that contain nodes and doesn't provide us with any information about the relationships between those nodes like the NE does.

I myself haven't found that too much of a problem, and I guess I've come to think of it very much as something idiomatic to houdini that's there to be worked with (or around ). The Network Editor is very powerful and after version 16, has become very fast to use and maybe I've just gotten more comfortable with it over use. That said, I can totally see how someone more used to using “outliner” style interface might find things uncomfortable.

The array of data thing is interesting, and something that I myself haven't found a need for, but certainly sounds like something that could be gotten together in CHOPs… although bulk importing may still be tricky (maybe a channel wrangle with a “parm list” in it's parameter interface is the way forward?).

Christ, I've been waffling for ages… just the one last thing then. The “Revert to Defaults” thing is definitely on the clunky side, especially when you've wrapped a rig up into an HDA. The “Revert to Defaults” entry in the RMB menu on the handle will not work if the HDA is locked. If you try selecting/activating a given handle and then call hou.selectedNodes() you'll see it returns the object inside the HDA. Trying to call revertToDefaults() on any of this objects parms will return a permission error. The way around it is to call getReferencedParm() on the given parameter before calling revertToDefaults()… This of course is only helpful if you're prepared to script something to either add as a shelf tool/custom RMB menu entry or as a radial menu item which you can add a shortcut to. Not ideal

Of course, you can always use good old Ctrl-MMB click in the parameter pane, but this IS slow compared to just hitting a shortcut to revert the current handle.

Sorry if that was a bit wayward… still under coffeed I think Think that's crystallised a couple of RFEs though… I'll post them in when I get a moment.

Cheers,

Henry
Henry Dean
User Avatar
Member
1755 posts
Joined: March 2014
Offline
@probiner I've filed RFEs for some of those and I suggest you do the same. The more people request a certain feature the bigger the chances of being materialized. Anyhow, that's what I've been told.
User Avatar
Staff
4438 posts
Joined: July 2005
Offline
In the network editor, you can hit “Shift-T” to switch to “list mode”. Once there, right click on the header at the top of the list, and set the “List Order” to “Input/Output”. I believe that will give the hierarchy view you're looking for?
User Avatar
Member
402 posts
Joined: June 2014
Offline
Well I'll be damned! thanks for the heads up mtucker! Will check that out shortly!
Henry Dean
User Avatar
Member
339 posts
Joined: June 2013
Offline
@mtucker
Thanks! There's more to that menu than what I was even looking for, so it was nice to go there! I don't really need an Outliner all the time, but certainly a list might take less space and attention to lines than the network editor every now and then.


@McNistor
I have been filing several RFE and tried to start many discussions on XSI forum, but some don't fly, ehehe
As of now I've been filing mostly stuff dealing with VOPs cause I mean, even tho


@friedasparagus
Thanks a lot for the exposition! Glad there's hope

- I do hope arrays get worked out and importing multiple objects even in VOPs as an array it's easy.
- The revert defaults thing indeed falls in into the “artist friendly” bin and having to script for it feels silly. Hopefully. I think overall making Houdini more modeler and animator friendly definitely has it's development challenges as it might require some commitments that might not go inline with current designs.

______________________________________________________________


Adding another situation that maybe someone else knows how to deal with better.

- Apparently there is no way to constrain to a non-orthogonal posed object. A situation that is commonly found when a parent is scaled and the child object is not aligned with it. The result is a sheared/skewed pose.


Here's the same constrain in XSI:


Now understandably transforms (Scale Rotation Translation) cannot cover all poses resulting from an hierarchy, this needs to be set on matrix level, I think.

- In line with the previous issue, it would be great to be able to do nodal rigging. Something I've done extensively in ICE and the output would be an item's globa/world matrix.

The example below shows an attribute in object “Source” being used to setup the world pose of item “Target”. Very plastic!



I'll add more as I find them. I wonder if someone of these have to deal with the way Houdini's way of solving objects transformations are set up.

I'll have to keep digging…

Cheers
Edited by probiner - July 19, 2017 21:29:54
  • Quick Links