CG Pipeline: Asset Management And Dependencies
One the principal reason to track every file and asset in a production is to manage the dependencies between them. It’s crucial to know what needs to be recomputed and validated when a change occurs. As the number of elements grows, it becomes more tedious to follow everything properly. If you draw every connection between each element, it will lead you to a giant directed graph that is difficult to manage. Nevertheless, it’s still mandatory to deal with it properly.
Tracking files is basically what your pipeline does. It stores the location of all your files and makes sure that it is related to a build step. It’s even better when your pipeline stores the dependencies between files.
But looking at files is like looking at a low level representation of your production. Working at the file level is great when you think locally about a problem (like referencing an element) but when you want to discuss about what happens on a larger scale (like the final rendering of a shot), this representation is too granular. That’s why we often prefer to deal with assets.
Assets are abstraction of files, it’s like talking of concepts instead of precise elements. For instance it happens when you talk only about textures, not about .jpeg or .png files. Assets can be anything like models, animation keys, shaders, FX, etc. Here we don’t talk about folders or file name. Dealing with assets allow to not think anymore in output file and working files, it allows to focus on the main concept of the production.
If needed, you can even group assets together to add another level of abstraction. For instance, an animation group contains rigs and animation keys, a texture group contains flat textures and shaders.
Once you can represent things with assets, it’s easier to master your production graph. You can manage more efficiently your build process and dependencies. When you change an asset you know what assets need to be recomputed instantly. It’s a great communication tool for your team and for your softwares. All the stackholders of the project can exchange ideas around it.
We talked a lot about graphs. Graphs are composed of vertices (nodes) and edges. Our assets can be considered as the vertices (nodes) but what the edges represent? Edges are worflow steps. A step takes one or several asset as input and leads to another asset as output. For instance, modeling is the action that melt textures, meshes and shaders into a full model. Setup action takes the mesh as input and leads to rigs.
To conclude and illustrate that article let see some representations of production elements:
As you can see, it’s easy to notice the impact of a change once we have our graph representation and the right tools to manage it!
That’s all for this article. We hope it will convince you to have a graph presentation of your production. Using nodes and edges will improve your communication with CG artists, supervisors and production managers… Which means more time spent on the artistic and less stressful situation!
Writing mainly about production and pipeline doesn’t mean we don’t enjoy looking at beautiful pictures too. If you would like broader topics and curated content about the CG industry in general, you can follow us on Twitter!