I have a camera that is controlled by riveting it to an animated surface. The animated surface is an a time-offset and smoothed copy of an ocean evaluate, so basically the camera follows the motion of the waves, but lagged, smoothed, and offset in Y.
I need to get this camera animation into LOPs, but I also need to use a LOPs specific camera because cameras that come in through scene-import nodes don't respect SHOP CVEX lens shaders, which is a requirement for this shot. So basically, I need to import my /obj camera hierarchy's animation and constrain a LOPs camera to it. What is the best way to do this?
Apologies if this is basic. I'm just starting to investigate Solaris/USD/Karma now that lens shaders can be made to work with it.
Solaris camera import question1357 10 2
Nice! That appears to work. Thanks. I thought the camera lop just created a camera. I didn't know you could use it to set properties on an imported one. I have a lot to learn.
Yeah, it's sort of central to solaris. Almost everything that creates also modifies, due to the layer based structure.
Thanks Rob. Here's a stripped down version. Hopefully this packaged up correctly. I left some notes on the STAGE. The file is too big to upload to the forum, so I posted it here: https://we.tl/t-AulkC1x6wS [we.tl]
Here's a stripped down version...
I'm afraid I've put my foot in my mouth a bit in terms of my offer. Your scene was very valuable because even in our latest internal builds the lens shader assignment wasn't translating via SceneImport. I've been able to address this, but it's not practical for me to backport to 18.5 (or earlier).
Looking at the notes you left...
* Sky lights - The sky map that gets procedurally generated does not get translated via SceneImport, this is a known limitation I'm afraid. There is an internal task to investigate this further, but it hasn't been started.
* "Camera animation won't come through until you enable "Import All Time Samples" on the sceneimportcameras1 node" ... this one confuses me. You have it disabled in your test scene (as noted), but I still see animation on /cameras/sceneimportcameras1/rivet1.xformOp:transform:sceneimportcameras1 (which then gets inherited by the camera). Can you elaborate, because I want to make sure I'm not missing something important.
* "It would be nice if the chooser button could select from the SHOP context directly". I'll look into this one further. It strikes me as odd as well, but I expect there's a good reason for it
It looks like it was me that was confused. I have nearly zero experience with USD/Solaris/Kama. Something I read said that for animation to come though a scene import, "Import all time samples" should be selected. That's what I did and it appeared to work, but with a big lag on scene load. I don't remember where I read that. I disabled that setting and wrote the note as a convenience to you, so you aren't waiting forever for the file to load. I never tested it any other way. I guess I don't understand the purpose of the Import all time samples setting yet.
I guess I don't understand the purpose of the Import all time samples setting yet.
It evaluates the input for all time when transcoding to USD. Without that only the current time sample is evaluated. In order for motion blur to work, there needs to be more than one timesample. I think the scene import still authors the animation as a time sample and not a default value. Without load all time samples checked, when writing animation to a usd file, the whole animation should end up in the resulting file either way.
I think the scene import still authors the animation as a time sample and not a default value
Yes, we try to do "the right thing" (or at least "the most sensible thing") in terms of writing all Houdini-time-varying-data as time samples and everything else as default values.
when writing animation to a usd file, the whole animation should end up in the resulting file either way
If you write to a single USD file, yes. If you write per-frame USD files, you'll still need some mechanism of pre-baking the samples (such as a Cache LOP with a +/-1 frame window).
Edited by robp_sidefx - April 8, 2021 06:43:58
- Quick Links