As much as I like aspects of the USD environment, there are currently more which I consider a handicap.
While some problems can be solved with some workarounds, others still remain a mystery.
a) How do I mimic the @instancefile workflow from sops? Right now I need to create a "sop create" node with a file import node inside to import a lot of files for instancing. One sop for each file, using the sop name as the file ending to "automatically" fill out the file name for import. How do I use an attribute, e.g. on the instance points to load a file or import a whole directory of prims for instancing? That's one of the strength of Houdini in general. But in USD?
b) Once the instances are spawned I need to edit some them some of for still life images because of the art direction. The tree or skyscraper needs to be moved or deleted. In SOP context no problem. Edit sop and I move or delete the point holding the packed geo. In USD it seems that I can't edit nor select the prim spawned on the point. I need to go back into the pointcloud, try to figure out which point is responsible for the instance and edit or delete the point. In SOP context I can easily use the instanced geo to select the point, in USD nothing happens. The selection tool doesn't select anything.
c) What makes it even more difficult to alter instances is that I can't keep the camera view from solaris switching into the sop context. Sop will have it's own viewport, lop camera not available as a choice for the perspective. Really difficult for selections or model/move something in camera space. Only workaround: Create a sop camera with the same settings and switch from stage to obj mode. Absolute workflow killer.
d) Searched a lot, but found no official way to do this: How to import a material name that it turns into a material binding on lop import and NOT a primvar? I don't want to import an existing material, but want to link the primitives with an attribute to an existing material in lops.
There's a vex script which does this which is at the same time not recommended.
While learning new stuff is also a joy, loosing methods which work perfectly fine is not helping to solve the daily tasks.
I'd highly appreciate some tips to make working with Solaris and Karma more user friendly.
Cheers
Tom
Solaris workflow questions
1316 1 3-
- Tom Mangold
- Member
- 144 posts
- Joined: 11月 2017
- オフライン
-
- mtucker
- スタッフ
- 4565 posts
- Joined: 7月 2005
- オフライン
Hey Tom, hopefully we can clear a lot of this up quickly... But to start, can you clarify what you're trying to accomplish here? I'm guessing that you want to create a bunch of instances in LOPs, and I'm guessing you're happy ending up with a point instancer in USD (since I think this maps most closely to the SOP "instancefile" workflow?). If not, my answers below may be way off base...
a) I assume you're using an Instancer LOP to create your point instancer? I would recommend using a Reference LOP to bring in your "instance files". You can use wildcard file patterns to create a whole bunch of "prototypes" in LOPs, then just connect the output of this LOP to the second input of your Instancer LOP. Inside the instancer LOP, position your points and assign prototypes.
b) When in the select state, if you want to select point instancer instances, you have to change the menu at the top of the viewport to one of the "point instance" selection modes, rather than "leaf primitives", because point instancer instance don't map to unique USD prims. Once you've selected the instances you want to modify, you can hit "t" to put down an Edit LOP and move them. Or you can use the Modify Point Instances tool to quickly hide/delete them. Or you can dive into SOPs and modify the transforms and/or delete them and/or set primvars, etc.
c) Houdini 20.5 has the ability to choose a LOP camera from the camera menu when you are inside the Instancer LOP.
d) If you are creating a point instancer, I think you want to do your material binding on the prototypes (before feeding them into the instancer LOP)?
a) I assume you're using an Instancer LOP to create your point instancer? I would recommend using a Reference LOP to bring in your "instance files". You can use wildcard file patterns to create a whole bunch of "prototypes" in LOPs, then just connect the output of this LOP to the second input of your Instancer LOP. Inside the instancer LOP, position your points and assign prototypes.
b) When in the select state, if you want to select point instancer instances, you have to change the menu at the top of the viewport to one of the "point instance" selection modes, rather than "leaf primitives", because point instancer instance don't map to unique USD prims. Once you've selected the instances you want to modify, you can hit "t" to put down an Edit LOP and move them. Or you can use the Modify Point Instances tool to quickly hide/delete them. Or you can dive into SOPs and modify the transforms and/or delete them and/or set primvars, etc.
c) Houdini 20.5 has the ability to choose a LOP camera from the camera menu when you are inside the Instancer LOP.
d) If you are creating a point instancer, I think you want to do your material binding on the prototypes (before feeding them into the instancer LOP)?
-
- Quick Links

