Closed BigRoy closed 6 months ago
Thank you for opening the draft! Seems like a good idea.
Should be good to go. I implemented the majority of the suggestions! Thank you for grading my homework!
framing cam logic is finally implemented with extensive commenting. I feel like table turning and turn tabling should just be a Xform prim or something on 0,0,0 doing a turn for some amount of frames, so I'll look into generating animation data.
The Kitchen scene is actually a hard scenario to test, because it is Z-up.
Added fit parameter upon request,
fit = 1 vs fit = 1.5
turntableturntableturntableturntableturntableturntableturntableturntableturntableturntableturntable
turntableturntableturntableturntableturntableturntableturntableturntableturntableturntableturntableturn
now gloriously centered by ensuring that double transformation doesn't take place!
Shameless TODO list (feel free to suggest additions):
I figured it out. I'm going to have to do some referential trickery.
I'm creating a new scene, and then use references to place everything in the right spot. Over the Turntable.usda, from Prism:
#usda 1.0
over "turntable_reference" (
prepend references = @X:\VAULT_PROJECTS\COLORBLEED\Kitchen_set\Turntable.usda@
)
{
over "parent"
{
over "subject_reference" (
prepend references = @X:\VAULT_PROJECTS\COLORBLEED\Kitchen_set\Kitchen_set.usd@
)
{
}
}
}
One thing that i'd like to do, is scale the subject to defined bounds and make it conform to scene up, because at the moment, that's not happening.
As you see, the files are loaded into an external usd file just fine.
The small white dot in the middle is the turntable scene, completely overwhelmed by the enormous kitchen.
The plan now is:
I might wrap this up in a context wrapper but I don't know.
I would very much like to start writing a transformations module too, as it would come in very handy to start applying transformations in a neat way.
Stages that use a reference to a file can now be generated succesfully.
First I'll commit to implementing cleanup.
turntableturntableturnturnturn
TODO:
Playblasting works. And it has a progress bar! The wonders of modern technology.
Confirmed that framing camera and viewer camera works as well. The viewer camera option is not available if the viewer is opened without it's viewer!
Large scenes like the kitchen tend to lag the main window, so unfortunatly the progressbar won't be perfectly happy with very complicated scenes.
After adding in some hooks to the normal playblast dialog, I have started implementing a turntable dialog. It exposes essentially all turntable functionality to the user, even searching through the file for cameras. You can see that the frame dialog is different, there is no longer a place to select single frames, nor frame ranges, there is just starting frame, and length, to make things as easy as possible.
I might add a refresh button next to the camera box, for when the turntable textbox is typed in, or listen in on some changed event. I don't want to do this too often though as reading the cameras requires opening the file.
Implemented all 3 modes of turntabling:
I seemed to be unable to push into this branch - unfortunately. So I've opened a replacement branch with this PR included and some more cosmetic tweaks done on top of it. Closing this in favor of https://github.com/BigRoy/usd-qtpy/pull/43
Feature
Implements a draft for playblasting/rendering using the USD api.
Opening this draft so I can comment on some code as we go