This is an interactive CG project directory structure. Click a folder name to expand it and see its subfolders.
Below each main folder is a link to its documentation below.
[assetName]_mod_[version]_[artist].ma
Example:
Gramp_mod_v01_lelgin_TT.ma (for a model turntable)
Gramp_mod_v01_lelgin.ma (for the corresponding model asset)
[assetName]_rig_[version]_[artist].ma
Example:
Gramp_rig_v01_lelgin_ST.ma (for a rig turntable stress test)
Gramp_rig_v01_lelgin.ma (for the corresponding rig asset)
Gramp_rig_v01_lelgin_geo.ma (for the geo extracted from the finalled rig)
[assetName]_tex_[version]_[artist].ma
Example:
Gramp_tex_v01_lelgin_TT.ma (for a model turntable)
Gramp_tex_v01_lelgin.ma (for the corresponding texture asset)
[assetName]_mod_[version]_[artist].ma
Example:
chestA_mod_v01_lelgin_TT.ma (for a model turntable)
chestA_mod_v01_lelgin.ma (for the corresponding model asset)
[assetName]_rig_[version]_[artist].ma
Example:
chestA_rig_v01_lelgin_ST.ma (for a rig turntable stress test)
chestA_rig_v01_lelgin.ma (for the corresponding rig asset)
chestA_rig_v01_lelgin_geo.ma (for the geo extracted from the finalled rig)
[assetName]_tex_[version]_[artist].ma
Example:
chestA_tex_v01_lelgin_TT.ma (for a texture turntable)
chestA_tex_v01_lelgin.ma (for the corresponding texture asset)
[assetName]_mod_[version]_[artist].ma
Example:
island_mod_v01_lelgin_TT.ma (for a model turntable)
island_mod_v01_lelgin.ma (for the corresponding model asset)
[assetName]_MASTER_[version]_[artist].ma
Example: island_MASTER_v01_lelgin.ma (the master file used for lighting)
[assetName]_tex_[version]_[artist].ma
Example:
treeA_tex_v01_lelgin_TT.ma (for a texture turntable)
treeA_tex_v01_lelgin.ma (for the corresponding model asset)
chairA_rig_v01_lelgin_TT.ma (turntable for review)
chairA_rig_v01_lelgin.ma (corresponding asset: version same as TT)
chairA_rig_v01_lelgin_geo.ma (geometry extracted from finalled rig)
working directory: nuke/[Shot Name]/ (nuke files for BG & FG)
delivers to: comp/background/[Shot Name]/ (BG renders) comp/foreground/[Shot Name]/ (FG renders)
Below is the workspace.mel file for a project. We use this in two ways:
Texture phase First, at the beginning of a project artists will have their project located on their home drive (the Z drive), but the render goes to a central location. That way we can review the work in RV for dailies.
Lighting phase Second, once we have lots of textures made we put these in the main project drive and set the project to there. Artist will still save their Maya scenes on their home drive (Z drive), but because the project is set to the central drive the textures will read from there and thus don't need to be copied to each home drive redundantly. This saves a ton of file space.
The Maya scene file is set to "temp" in the project here so the batch render can write a temp file to the artist's home drive (Z drive) which has read/write permissions. The main drive only has read permission so things for safety (note: the farm does not need to do this, just the batch render). Again, this is just for the batch temp file, the artist's Maya scene files themselves should be saved to the appropriate assets or shots folder on their home drive (Z drive).
All files must always contain the artist's name (see legend below) and a version number. Always make sure you version up an asset when you do any work on it. It is critical that the naming conventions are strictly followed.
Asset: the name of an asset (ex: Mara, Wagon, etc.) Type: file type (ex: mod, tex, rig, etc.) Artist: the first letter of your first name followed by your last name in lowercase (similar to your login name). For example Lindsay Elgin would be lelgin Version: the version number with a leading zero (ex: "v02"). Always version up
Maya asset files follow this syntax:
[asset]_[type]_[version]_[artist].ma
(ex: airplane_tex_v02_lelgin.ma
Asset Turntables append "TT" to the above
(ex: airplane_tex_v02_lelgin_TT.ma)
IMPORTANT: If Alyce Tzue works on airplane_tex_v02_atzue.ma she will first save this as airplane_tex_v03_atzue_TT.ma. If her final version is airplane_tex_v08_atzue_TT.ma then when she saves out the new texture file it should be called airplane_tex_v09_atzue.ma (not airplane_tex_v03_atzue.ma!)
Asset Subfolder Directory Structure:
Assets are divided in to characters (living animated things), props (non-living animated things), environments (a scene with static objects), and environment elements (non-animated parts of an environment). Both characters and props have a rig (for animation) and geo cache file (for lighting). The concept folder contains art for the model, including turnarounds (for modeling) and shader packs (for texturing). A mesh is first modeled (model folder), then rigged (rig folder), then the mesh is extracted from the rig for texturing (tex folder).
Texture Legend: Asset: same as above Part: the name of the part (ex: face, belt, handle, clothing, leaves, etc.) map: the 3 letter code of the texture map type:
dif=diffuse color
spc=specular
bmp=bump
nor=normal
dis=displacement
sss=subsurface
gls=gloss
msk=mask
trs=transparency)
Artist: same as above
Version: same as above
Texture files follow this syntax:
[asset]_[part]_[type]_[version]_[artist].png
(ex: Mara_face_dif_v02_lelgin.png
IMPORTANT: Texture files should be in JPG or PNG with the exception of displacement maps which should be 16-bit EXR.
Paint Prep files
Texturing also uses the "paint prep" folders to store resources used in creating the textures:
Photoshop files echo the syntax of the texture files they correspond to:
[asset]_[part]_[type]_[version]_[artist].psd
(ex: Mara_face_dif_v02_lelgin.psd)
Stencils similarly echo the syntax of the texture files they correspond to, but may vary slightly, being more general/multi-purpose:
[description]_[type]_[version]_[artist].[ext]
(ex: skin_stencil_v11_lelgin.png
Mudbox and Mari files as well as UV files all echo the asset (i.e. geo) name they correspond to:
[asset]_[type]_[version]_[artist].[ext]
ex: airplane_tex_v02_lelgin.mud
ex: airplane_tex_v02_lelgin.mra
ex: airplane_tex_v02_lelgin.obj (for UVs)
ex: airplane_v04_lelgin.png (for shader packs)
Texture Subfolder Directory Structure:
The texture directory structure mirrors that of the assets
texture/
char/
[assetName]/
env/
[assetName]/
prop/
[assetName]/
paintPrep/ char/
mud/
[assetName]
psd/
[assetName]
mari/
[assetName]
UV/
[assetName]
stencils/
NOTE: The stencil folders do not use asset name subdirectories. The above subdirectory structure is echoed in the following folders as well:
The shot name is made from a four letter descriptor for the show, followed by the sequence and shot numbers. Both sequences and shots have a leading zero, and shots are counted in increments of ten (10, 20, 30 40, etc) to allow for shot inserts. So for Deus Ex Machina, sequence 1, shot 20 it would be
Deus01_020
Counting by ten allows space for shot insertion. For example, if a new shot is inserted between shot 30 (Deus01_030) and shot 40 (Deus01_040) it would be Deus01_035.
Lighting Shots
Lighting shots are separated into background and foreground renders.
The templates here refers to the Maya master template file you used to create your Maya scene. For the foreground shots this is the version of the foreground template used, and for background shots it is the version of the background template used.
Note that the version numbers of your Maya files for the foreground and background are are not parallel, and thus can have different version numbers. The render sequences in contrast will be the same name as the Maya file they were rendered from (see the render section below).
Both Maya files go in the project Shots folder in a subfolder with the name of the shot, For example: shots/Light/Knob01/
Knob01_f191_v02_lelgin.ma
(Knob01_f191_v02_lelgin_light.ma for an export of an adjusted light) Knob01_b12_v06_lelgin_back.ma
(Knob01_b12_v06_lelgin_back_light.ma for an export of an adjusted light)
The output of an FX shot is delivered in one of two forms:
FX Geo Caches
These are rendered with the FG shot. See the FX section of caches for details on naming syntax.
FX Rendered Sequences
Rendered FX sequences are output as passes in exr format, and comped with the lighting passes. See the the FX section of renders for details on naming syntax.
Shot Subfolder Directory Structure:
Shot files for lighting are rebuilt individually from the Maya environment template and the shots characters and assets using geo caching. The anim files in contrast typically use referencing. See the docs for details on building a lighting shot file.
Caches files are divided into three categories: GI caches, Alembic geometry caches for characters and props, and Alembic geometry caches for FX simulations:
GI caches
For the background renders you will be saving GI caches for the IR and LC maps (see the doc Static Pass Rendering. for details on this process). IR and LC maps are identified by their file extensions: .vrmap for irradiance and .vrlmap for light cache maps.
naming convention:
[shot]_[renderLayer]_[version]_[artist].[ext]
(ex: Knob01_010_canopy_v01_lelgin.vrmap and
Knob01_010_canopy_v01_lelgin.vrlmap)
Alembic caches for characters & props
The cache files are supplied by the anim department and used in the lighting shot files.
Renders are automatically derived from the render settings preset code for turntable, foreground, and background renders respectively:
TURNTABLES CODE: turntables/%s/%l/%s
Since turntables use a referenced turntable light setup, the namespace needs to be changed to "Turntable" in the Reference Editor to work with the render layers (see the turntable setup doc for details).
Note that we render out the render layer name (%l) in both BG & FG shots. For FG shots this is because we create custom light selects due to an error in Vray with wrappers. For BG shots this is so we can optionally create separate render layers for proper DOF.
As in all the above examples, the red bracketed section is a placeholder, so artist needs to enter their shot number here, for example the code for the background render for seq 1, shot 10 of Knob would be:
background/Knob01_010/%s/%l/%s
In the above code %l (that's a lowercase "L") is a variable for the render layer name, and %s is a variable for the scene name. That's why it's critical to name your scene correctly as described above in the SHOT FILES section. A complete list of Maya filename variables can be found here
This code will create the following directory structure for the render passes (the following is an example of the canopy layer's spec pass for the background render of a shot):
Render passes (diffuse, specular, reflection, refraction, GI, AO, etc) are included in the light rig setup and render globals preset and are automatically rendered into separate folders.
Multimattes
Assets will have also have multimatte passes assigned to them based on material IDs (see the material ID list). Multimattes should follow this naming syntax:
MM_[assetName]_[descriptor].
For example: "MM_Pilot_skin".
For foreground scenes the multimattes will come in with imported assets. For the Background renders, they need to be set up in the master file.
FX Rendered Sequences
FX sequences echo the naming convention of lighting renders above, adding a FX element descriptor:
As with the Maya renders, the image sequences from the Nuke file will inherit the shot name. For example the GI pass output from the above background comp is:
Knob01_010_cb12_v12_lelgin_back_GI.exr
The file goes here: nuke/Knob01_010/Knob01_010_cb12_v12_lelgin_back_GI.nk
The exr sequences from Nuke go here in their appropriate subfolder (Master, GI, DOF). For example: comps/background/Knob01_010/GI/Knob01_010_cb12_v12_lelgin_back_GI.001.exr ...
Nuke and write output Subfolder Directory Structure:
Nuke files for both foreground and background are build from the corresponding Nuke template files.
nuke/
templates/
shots/
[ShotName]/
turntables/
[AssetName]/
The output of these files in written into the comps folder. The output of background files in written in EXR format and then used in the foreground comp which is written out in PNG format.
Global mattes are matte assets that are used globally in multiple shots through Nuke. For example a sky dome. The naming syntax for these are similar to textures (that is, they are asset based names):
[asset]_[part]_[version]_[artist].[ext] ex: island_skyline/island_skyline_close_v33_close_lelgin_1001.png
This is for a multi-region UV texture using Mari's UDIM numbering (here "1001"). Note the folder name parallels the file name. Note also that a descriptor "close" has been added to the basic naming syntax.
Shot Specific Mattes
Shot specific mattes follow the naming syntax of Maya scenes (that is, they are shot based names):
[shot]_mat_[version]_[artist].[ext]
These mattes are incorporated into Nuke and so will consist of an alembic file for the animated geo (.abc), a png for the matte texture (.png), and the Nuke file where this is assembled. Additionally we archive the Photoshop file used to create the png (.psd) in a separate folder (in odrer to keep the project file size down). The names thus differ only by their extension type: ex: Knob01_010_mat_v02_lelgin.nk
Knob01_010_mat_v02_lelgin.abc
Knob01_010_mat_v02_lelgin.png
Knob01_010_mat_v02_lelgin.psd
Vue file naming synatax:
Vue files are named similarly to textures:
[asset]_[part]_[version]_[artist].vue
(ex: island_skydome_v06_lelgin.vue)
The Vue render format echoes this, with the multipass suffix:
island_skydome_v06_lelgin_ground_color.exr
Note that because Vue incorrectly outputs with spaces, the renders must be renamed with underscores instead.
Domes are exported in three phases:
EXR Multipass renders from Vue
Masked PNG elements from Nuke for Matte touch-up
The Final PNG dome texture to be used in the comp template