These use cases show how to use Assembler in a vfx pipeline.
- Modelling: Models will be produced at several quality levels, very high resolution models for final renders, medium quality for animation and low quality for pre-visualisation.
- Pre-vis: Pre-vis is a process of taking the story-boards of a scene and then blocking out the action in 3D using low-resolution models and textures. The pre-vis will usually be rendered at low quality.
- Tracking: The tracking will be done with a piece of 3D tracking software like Nuke.
- Animation: Animators will tend to work with medium-resolution models. Animation versions will be presented to the client as grey-shaded playblasts for critique and further revision will be made based on these comments.
- Effects animation: The effects TD will pick up the camera and any hand animated elements plus a CG version of the environment. They will use this scene to provide the basis for their simulations.
- Look development: This is the stage where the texture maps are used with shaders and lights to determine the final look of the finished model
- Light & Rendering: Once the animation and look-dev has been approved the lighting artists can begin rendering the finished CG. They will use the shader settings supplied by look-dev and the HDR lighting maps that were shot on set but will often add more CG lights to add accents or enhancements as each shot requires.
- Compositing: Compositing is the last process in the chain and it is where all the CG, elements and the scanned plates are brought together to create a seamless finished image. Matte paintings may also be produced at this stage to serve as the backdrop to green screen elements or CG
See more details on andrew-whitehurst.net
Rendering iterations are often required, especially in pre-vis, animation, lighting and compositing stages.
Along the project progress, model version, rendering resolution, lighting and animation version, etc. are the evolutive elements a rendering has to take into account.
In these rendering iterations, Assembler provides siginificative productivity gain.
With Assember, early created at the beginning of the project, the complete pipeline disposes automatic renderings avalaibled and elements identified.
When Assembler is used in a vfx project, 3 roles can be identified:
- Creator: Creates the Assembler Project and all the main components.
- Modifier: Updates the process and creations along the vfx stages.
- Consumer: Just executes the process for a rendering.
The creator should be the vfx supervisor.
- His role consists on designing the complete vfx pipeline through the Assembler Project.
- First, he creates the Assembler Project.
- Then, according to the vfx stages, he designs the process: pipe-proc, var-proc, etc. See Assembler Design Patterns
- Good Assembler knowledges are required.
The modifier should be any artist working on the vfx project.
- His role consists on updating the process involved in the concerned stage: modeling, ligthing, animation, etc.
- Consequecy to his work, the artist updates process params, add new process nodes, add creations, etc.
- Medium Assembler knowledges are required.
The consumer should be anyone who have to make a rendering.
- A rendering should be required any time, especially for a pre-vis.
- Only low Assembler knowledges are required.
Assembler Design Patterns
To assume the rendering iterations, Assembler proposes 3 pipeline design patterns:
Variabilized ProcessOnce, a rendering process is based on inputs, outputs & params.
Input, output & param values can be changed for each rendering execution.
- Inputs: 3d scene to merge, texture, animation data (tracking).
- Outputs: built 3d scene, animation data, rendering frames.
- Params: object properties, animation, light, renderer, etc.
- Inputs: shoot, sub graph-node to merge, 3d scene rendering frames.
- Outputs: built graph-node, animation data (tracking), rendering frames.
- Params: node properties, animation (2d & 3d), project setting, etc.
A same process can be executed for different rendering settings. A Param Template can be used to set param values.
Chained ProcessProcess can also be chained.
Cascading Process ExecutionRegarding a pipeline process can execute a sub process, a cascading execution can be built: