I'm working on building a scientist-friendly workflow in LOPs, and there are a few places where I need to do high-level geometry manipulation. I like the idea of encapsulating this in custom LOP assets instead of forcing my end-users to dive into SOPs, but it seems like this is relatively uncharted territory. I don't have any specific issues at the moment, but I'm interested in hearing whether others have explored this. Any best practices you'd recommend, prim naming conventions, whether to hide, disable, replace, or delete prims that have been modified, etc?
Cheers,
Tim
Thoughts on manipulating geometry in LOPs?
895 4 1- tshead
- Member
- 62 posts
- Joined: Sept. 2014
- Offline
- antc
- Member
- 273 posts
- Joined: Nov. 2013
- Offline
Probably the devils in the details and it depends on what you mean by high-level geometry manipulation. Sops is a very powerful geometry manipulation context so my guess would be it'd be tough for lops to compete in most cases. But if you could give an example or two you might get more input.
Edited by antc - Dec. 3, 2023 18:59:35
- sekow
- Member
- 238 posts
- Joined: Nov. 2013
- Offline
apologies for my possible ignorance, but as soon as you want to do any kind of geo manipulation you have to dive into sops right?
Sop modify lop is just a subnet with a sop network inside.
Just asking as I am getting familiar with lops myself right now and trying to set up everything in lops, with the occasionally diving into sops for exactly that, geo manipulation, generation.
Sop modify lop is just a subnet with a sop network inside.
Just asking as I am getting familiar with lops myself right now and trying to set up everything in lops, with the occasionally diving into sops for exactly that, geo manipulation, generation.
- tshead
- Member
- 62 posts
- Joined: Sept. 2014
- Offline
@sekow - yes, all geometry modification involves a SOP network under the hood, but that leaves many questions unanswered. To take one example: practically all SOPs have a group parameter to target the operation to a geometry subset. With a LOP, you'd likely need that, plus a prim path, to target the operation within the scene. Are there naming conventions that make this more-or-less difficult for users? Should the default behavior be to overwrite the original geometry, or be stored elsewhere using a different path? How should layers be involved? What is the value of nodes like Mesh and Points that create empty prims, when there aren't any LOPs to populate them that I can see? I imagine that over time the community and/or SideFX will come up with best practices for how geometry-creating/modifying LOPs should work, and was asking to see if there's any kind of consensus. Of course, it could be that there just isn't any
- antc
- Member
- 273 posts
- Joined: Nov. 2013
- Offline
tsheadAfaik there's no naming conventions as such, beyond the existing path mapping conventions between lops and sops. But on meshes at least, lops can represent sop primitive groups as UsdGeom subsets [openusd.org]. They roundtrip back and forth pretty well. Sop groups for other kinds of primitives like curves and points might not be supported quite as nicely in usd.
To take one example: practically all SOPs have a group parameter to target the operation to a geometry subset. With a LOP, you'd likely need that, plus a prim path, to target the operation within the scene. Are there naming conventions that make this more-or-less difficult for users?
tsheadThat's probably case by case, depending on whether the there's any value in keeping the unmodified geometry. Typically the answer is no, and so overwriting the original geometry (non-destructively of course) might be a good default.
Should the default behavior be to overwrite the original geometry, or be stored elsewhere using a different path
tsheadsopmodify/sopcreate always add a new layer.
How should layers be involved?
tsheadSo that you can create (or edit) the bulk of the prim definition in usd and then be more targeted in sops (populating only points and topology for example). It's more work to try and author every single usd attribute in sops.
What is the value of nodes like Mesh and Points that create empty prims, when there aren't any LOPs to populate them that I can see?
Edited by antc - Dec. 5, 2023 13:47:08
-
- Quick Links