-
Notifications
You must be signed in to change notification settings - Fork 12
USD
This documentation is Work in Progress and is related to internal work done on integrating USD in Avalon
Avalon Github Issues tracking USD status
- Avalon USD Define USD workflow
- Avalon USD ArResolver
- Avalon USD Bootstrap asset/shot on creation
- Avalon USD Houdini Solaris | Loading multiple files in a single file
- Avalon USD Houdini Solaris | Writing out multiple dependent publishes in one go
Bootstrap USD asset notes
- usd-interest | Generating Assets/Shots in USD Pipeline
- USD End to End example and bootstrap source code
create_asset()
Create UsdAsset
if no UsdModel → create it
if no UsdShade → create it
for now... point it to a stub master file. e.g `bank/publish/usdModel/master/usdModel.usd
until we can actually use the versioning with an ArResolver
How to work together producing an Asset in the USD Pipeline?
Open up Houdini to start working on the Asset's geometry.
Avalon > Create.. > USD Modeling Workspace
- Create Model inside the network.
- Publish
- If no UsdAsset → do
create_asset()
- If no UsdAsset → do
Load usdModel to start shading the current asset. This is done through Avalon > Create... > USD Shading Workspace.
When double clicking the Workspace you will enter a network showing a Material Assign network. You can create any materials in there or set geometry render attributes in that chain too. The workspace's network will end up defining the Look/Shading of the usdAsset.
Bootstrap shots with their layers using create_shot.py
What if we wouldn't make a static usdShot
file but have that version up too? The only thing we would need to make sure is that we know what the order of the individual layers of the shot would be, e.g:
- Sets (?)
- Layout
- Anim
- Sim
- FX
- Lighting
What if we provide each with an "Order" in the pipeline. Say
Layout 10
Anim 20
Sim 30
FX 40
Lighting 50
Then whenever any of these get generated it looks at which are in the previous Publish and their related "order" for the layers and for the next publish puts in the new layer at the right point in the array.
E.g. /v002/shot.usd
exists containing:
layout 10
fx 40
Then animation generates a publish with a currently a missing sublayer so it wants to add anim 20
, making /v003/shot.usd
:
layout 10
anim 20
fx 40
References:
What to do with an assembly of assets? What would this USD workflow look like?
- Reference in Assets with the Loader.
- TODO: It would be great if we could expose that functionality inside the "Stage Manager"?
- Layout the scene the way you'd like.
- Create an output USD Rop for that which will set kind to
Assembly
(?) and publish your subset to e.g.usdAssembly
orusdSet
?