I'm working on a bird flock using Houdini 20. When I import them into the Solaris /stage context, the birds show up in openGL, but when I switch to Karma, they render as spheres. (Imagine birds as spheres in a vacuum...) Is there a flag I need to set when importing Crowd SOPs from /obj into /stage? Thanks
I found one workaround: add an Agent Unpack SOP at the bottom of my crowd network. But that defeats the purpose of packed agents. How do I render packed agents in Solaris?
The "spheres" you are seeing are from an curve in your agent. You need to remove this curve after you import the agent, in the HoudiniGL viewport you can turn off "shade open curves" in the geometry tab of the display settings to remove those disks in the viewport, but you will need to remove the geometry in sops for it to go away in karma, or make it invisible on the agent prototype.
Will also mention that packed prims that get translated to instaceable prims in usd/solaris seem to have no performance benefits when rendering, it may have slight benefits when reading the usd file but in terms of memory usage it appears to be the same as using baked geometry for every agent. I talked abit about my experience with crowd workflows in solaris here: https://www.sidefx.com/forum/topic/94354/?page=1#post-412400 [www.sidefx.com]
If a USD curves prim has no `widths` attribute authored, I think Hydra will default to displaying it with a width of 1.0 This is coming from the `main_ctrl_nurbs_curve0` shape which you probably don't want to render anyways - you could either filter that out as you're importing the agent from FBX (using the KineFX route of FBX Character Import -> Agent from Rig -> Agent Layer etc gives you the most flexibility to remove and alter shapes), or use the Agent Layer SOP to just create a new layer which contains the skin geometry but not that curve shape