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!
#maya #Bifrost #camerafrustum #pipelinetd #pipelinejournal
Just added a feature to our USD asset turntable. It now has a helix camera move that gives a closeup render of the asset from bottom to top.
#houdini #solaris #techart #pipelinejournal #openusd #animation
#houdini #solaris #techart #pipelinejournal #openusd #animation
Really enjoying the fact that a #matx file can be sublayered right into a #USD file. This is really making me rethink some of our processes.
#matx #usd #pipeline #pipelinejournal #animation
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.
#pipeline #pipelinejournal #dev #animation
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
#blender #maya #houdini #openusd #python #pipelinetd #pipelinejournal #dag
#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!
#openusd #pipeline #pipelinejournal #houdini
Super happy to find that #Blender has an equivalent to a UUID.
# Assuming 'obj' is your object
uuid = obj.as_pointer()
Busy working on our Pipeline Asset Validator and need to make sure all names are unique yet conform to our naming standards.
#blender #pipeline #pipelinejournal
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.
#houdini #pipeline #openusd #solaris #pipelinejournal
Pretty chuffed! Delivered our first project created fully in #USD just in time for the #AnnecyFilmFestival
Starting in March we had no #OpenUSD in our pipeline and 3.5months later we have MVP support for all departments.
We also integrated #Blender for Modelling and Set Assembly. Its been a busy month not gonna lie!
#Pipeline #PipelineJournal #Animation #Solaris #Python #Houdini
#usd #annecyfilmfestival #openusd #blender #pipeline #pipelinejournal #animation #solaris #python #houdini
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.
Now to go do some #USD digging in the code ^_^
#blender #usd #pipeline #pipelinejournal #animation
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.
#maya #usd #blender #houdini #solaris #pipeline #pipelinejournal #animation
Okay primitive matching patterns are pretty freaking cool! I can see myself using these a lot.
#houdini #usd #openusd #pipelinejournal #solaris
Decided to do a write up on creating a simple asset with the geo & mtl layers as referenced layers via payload.
#usd #openusd #houdini #solaris #pipelinejournal #pipeline
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 ^_^
#USD #OpenUSD #Pipeline #PipelineJournal # Houdini
#lookdev #usd #openusd #pipeline #pipelinejournal
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'.
#houdini #usd #openusd #pipeline #pipelinejournal
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. 💪
#houdini #usd #openusd #pipeline #pipelinejournal
Flexing the new #Vex functions to build a #USD Asset Review Turntable for #Houdini
#vex #usd #houdini #pipeline #pipelinejournal #openusd