Jonathan Mack


About Me

United States


Recent Forum Posts

SOP Importing indexed string attributes June 14, 2021, 3:29 p.m.

Is there a way to tell sop import to index any string attributes dynamically? They're indexed in Houdini, but they're deindexed when it comes into LOPs unless I specifically set those attributes to be indexed. In general, I just want any string attribute to be indexed. I could write a little python script to report all the string attributes here, but I'm looking for something built in, since this seems like it would be what should be a pretty standard behavior.


Sounds like a good RFE. I.E. a toggle on the SOP Import LOP to force all string attributes to be indexed when enabled.

Hierarchical transforms June 12, 2021, 12:25 a.m.

If they did that, mixed pipelines could be in a ton of trouble... this is on USD, not Houdini's implementation of it. It's just such a weird decision to interfere with transforms like this by default.

I think there's a performance/memory cost associated with each prim in the hierarchy. Concatenating the mesh with it's parent transform saves saves that cost.

I think they default to USD_ABC_XFORM_PRIM_COLLAPSE=0 at my current studio so stuff matches name-wise with other packages.

Alembic UV Problem June 12, 2021, 12:20 a.m.

Mark Wallman
Hi. Was poly soup the precursor to pack prims? I have never used it but going from the description it seems like it is not needed any more.


I think they were introduced around the same time. They are still useful for saving memory and for enumerating meshes. Attributes on faces become indexed by soup instead of by face allowing for removing a lot of redundancy for face attributes. Topology information is also compressed with poly soups--vertices are deduplicated where vertices have share positions/normals. With regular polygons ever vertex holds a value for vertex attributes. Although you can do similar enumeration strategies using packing, there is a performance cost to unpacking/repacking. Whereas with polysoups, the vertex/point data modification is highly performant, assuming all the vertices that are needed already exist in the soup. I think they are similar in concept to using indexed attributes in usd.