Due to work needing me to do set dressing in #Maya 2020 🤮 I decided to at least use it as an opportunity to learn #bifrost which has been a pleasure. Writing a bunch of tools around it to make it pipeline friendly, regarding asset use & linking.
Starting to see some great results!
Yes! That may have taken longer than it should have, but got it working! 💪 Cull Points based on Camera Frustum in vanilla Maya 2020, Bifrost 2.2.0.1!
Its much easier in Maya 2023 and Bifrost 2.6+ but here we are!
So with the release of #QuiltiX I have renewed my interest in #MatX. Actually just really keen to do a deep dive into material libraries, storing, reusing and accessing materials across DCCs.
I do love that just when i think i cant do something with a QT interface it surprises me and lets me do exactly what I need. Its been a productive day 💪
I'm probably the only person fully testing the user experience of our pipeline. (between projects, so no artists on pipe). It saddens me when I find new obvious bugs coz the dev didnt test. I get it one change can introduce a multitude of issues... but some devs are very good at checking thier work vs others who code and forget.
Been writing a new tool to help artists log thier time based on assigned assets/shots. Hoping to gain more insight into how long specific tasks and shot work takes.
So this weeks focus was user testing the edit pipeline/tools. We've been using pymiere - https://github.com/qmasingarbe/pymiere which has been pretty successful tbh. Edit is starting to feel nicely like a first class citizen in our supported DCCs using #OTIO
When not testing edit, I have been hard at work writing code to export our #OpenUSD models so that they perfectly layer in with lookdev. This means I have successfully decoupled LD & MDL usd version files.
#OpenUSD has a prim.GetName() but no prim.SetName()! I know how to edit primpaths via an sdf.layer but having a .SetName() would have meant i could be solving another problem right now instead of bashing my head against moving stage data to a sdf.layer and back!
Okay I have found a way to rename prims and the primpath as required... Its a brute force technique but thankfully having this working opens up so many options for our workflow.
Sadly this due to #Blender not allowing objects at different locations in the scene graph tree to have identical names, like #maya and #houdini
I do also need to do a deep dive into a python tool that was written two years ago for #Maya, that now needs implementing in #Blender Its gonna get wild as the dev who wrote it has since left the company.
This weeks main goal, to create some FX (fire/smoke/pyro) and confirm that these assets travel down the new USD pipe correctly. Confirm that lookdev receives & can use all attributes required, etc.
This probably & largely involves prepping my asset build tool to accept different formats correctly, and accessing primvars.
So this week I cloned down the #blender repo and for the first time in my life successfully built a c project! I honestly did not expect it to work so smoothly. Props to the blender devs who put that all together.
Just to add insult to injury, #Maya uses 'map1' as its default, but auto renames to st on #USD export. So whilst exporting alembics from #Blender we then had two UV maps in Maya 'UVMap' and 'map1' when those files ultimately made it to rigging and then down to #Houdini#Solaris we now have 'st' and 'st1'.
Spent friday debugging why mtl.usd wasn't being applied correctly to anim.usd and well it came down to UV names.
The roll out of my new Asset Builder has gone amazingly smoothly. 💪 The #lookdev team really prefer its workflow, cleaner and simpler for the artist. This is always my goal, 'Let Artists be Artists' they dont care about all this tech ^_^
Creating a payload feels oddly complicated in #Houdini but once you have it setup its pretty straight forward!
Here I am creating two reference usd layers, one for _geo.usdc and one for _mtl.usdc (off top screen) that are combined into a single payload layer _payload.usd.
The 'root_component_prim' is simply creating '/asset_name' of kind 'Component'.
Its been interesting working with USD and seeing how it can all be layered. The #Houdini component builder was not letting me store arnold render settings in the _mtl.usdc so we used the _extras.usdc. Having switched to my own builder we can now store those details in the _mtl.usdc meaning one less file to keep track of when applying materials to animation. 💪
So I've been rebuilding or shall I say building from scratch our own Asset Builder. Leaving the native houdini component builder behind. It goes live on pipe today and not being backward compatible, any old assets that we might need to go back to would need to be updated.
Yes! Animation #USD files coming out of Maya now sublayer perfectly with our lookdev USD files. Meaning we have fully shaded animation rendering in Solaris ^_^
OMG! Okay so first 'successful' #USD shot build in #Houdini ! Sure shading on anim isn't working just yet (literally next on my Todo list) but damn this is exciting. The Scene Graph is looking neat with everything in their correct prim paths. Yes!! :D