mtucker

mtucker

About Me

Expertise
Developer
Location
Canada
Website

Connect

Recent Forum Posts

Rigs in USD Aug. 11, 2020, 5:20 p.m.

If you're just bringing the USD layout into SOPs for reference purposes (so you can see what you're doing), probably loading the file with a USD Import SOP is the easiest thing to do. If the layout is static, you can load the whole scene as a single USD packed primitive.

If you want more control over loading the scene, you can load it into LOPs. If you then do your animation inside a SOP Create LOP, the USD layout will actually be drawn with a hydra delegate, which will respect payload loading, USD draw modes, and other niceties. But then you're stuck working inside a single SOP Network inside a LOP Network.

Rigs in USD Aug. 11, 2020, 9:02 a.m.

You should only bring the final animated, deformed skin into USD. USD can't represent a lot of those other concepts at all, and even when it can represent the concepts (a null can be an Xform prim), it doesn't let you describe the relationships between all those elements, so there's not much point. The one exception is if your character can be described as a simple skelton with bone-weighted deformation. Then UsdSkel can describe the skeletal animation and the skin weights and do the deformation at run time, but that's generally only useful for crowd-type characters, not hero characters. And to generate UsdSkel from Houdini you would have to author your character as a SOP Packed Agent primitive, which is all pretty limiting.

I would also recommend doing the import of your deformed character with a SOP Create pointed at the single character geometry node rather than a Scene Import because it gives you a lot more control over the import process. SOP Create is also better than a simple SOP Import because it has built in capabilities for importing materials (if you have any on your character that you care to preserve).

Whether the character lives in a separate hip file, and just gets imported to other hip files as a USD file cache is a workflow decision for you. A cached USD file on disk is going to be noticeably faster to play back, but require opening that separate hip file and re-caching to disk any time you want to change the animation.

Remove a USD attribute from the layer it is defined? Aug. 4, 2020, 11:21 p.m.

This is why the stage manager flattens all layers into one (by default): so there is just the one layer that holds all the data. This way the Sdf APIs don't need to worry about “where” a prim is defined, because they are all defined on the active layer.