Hi!
I’m having some trouble trying to create ( python API ) a pointInstancer using positions from a UsdSkel binded geometry.
Is this even possible?
Thanks a ton!
Hi!
I’m having some trouble trying to create ( python API ) a pointInstancer using positions from a UsdSkel binded geometry.
Is this even possible?
Thanks a ton!
This is not currently possible, as it requires propagating computations in a general way, whereas UsdSkel is implemented in a fairly specialized way right now. This is the kind of thing OpenExec should enable us to do.
thanks @spiff , i was fearing that
workflow for now is to use UsdSkelBakeSkinning to get those values printed, but maybe there’s a better way i’m not aware of, is it?
Thanks!
Hi again,
I was wondering, @spiff, if it makes sense to create a usd procedural plugin that performs the bakeSkinning for that geo, gets the values and then sets the values into my pointInstancer node.
Does that sound reasonable?
Thanks!
Hi @dietchmatch , you probably could write a UsdProcGenerativeProcedural that did that, and manually trigger it at the appropriate points in your pipeline… but that’s not really what it is intended for. Note the “Generative” part of the name - it’s meant to add new geometry that provides further/fine details, not modify existing geometry.
The primary reason for that intended restriction is that we want the geometry in the scene to be “correct” whenever you open the stage, so that any script that wants to do some processing will have the right data. If you were to implement the GenerativeProcedural as a Hydra procedural, then you’d always get the right answer in your renders, but never get the right answer anywhere else. And if you implement it as an offline computation, as I suggested, you’re on the hook for running it and saving the results manually.
mmm maybe i could switch my workflow so the pointInstancer gets created on that procedural instead of modifying an existing one? ( guess that might be less awkward? )
Anyways … is there a way to get the deformed point positions ( i mean after UsdSkel is performed ) apart from UsdBakeSkinning?
Thanks in advance!
Javi
UsdBakeSkinning uses smaller pieces of UsdSkel utility code - have a look at the implementation to see what might be useful to you.