The Ultimate 3D Art Workflow Book
The Ultimate 3D Art Workflow Book
The Ultimate 3D Art Workflow Book
Naming Conventions 2
1. General Rules & Quick Example 2
2. Upper CamelCase / PascalCase 2
3. Prefixes & Suffixes 2
4. Numbering 4
5. Folder Structure 4
6. Example 5
Hierarchy Conventions 6
1. Quick global overview 6
2. Hierarchy 6
3. Source files 7
4. FBX game files 7
Axis Conventions 8
[ Folder : RoofTiles_01 ]
SM_RoofTiles_01a.fbx [mesh]
T_RoofTiles_01a_C.png [color or albedo or diffuse]
T_RoofTiles_01b_C.png [variation of color map]
T_RoofTiles_01a_R.png [roughness]
T_RoofTiles_01a_M.png [metallic]
T_RoofTiles_01a_N.png [normals]
T_RoofTiles_01a_A.png [AO]
M_RoofTiles_01a [material]
M_RoofTiles_01b [same material, but uses the 01b_C texture]
Prefixes
SM_ 3D files. Static Meshes, Weapons, Foliage, Props with just a few joints for function.
SK_ 3D files that contain humanoid or animal skeleton joint rigs
T_ Texture
M_ Material
MI_ Material Instance
MF_ Material Function
There are two parts to the numbering. The number, and the letter.
The number is for family numbering. A completely new asset but within the same family. For example:
● SM_WillowTree_01a
● SM_WillowTree_02a
These are two different tree models, but part of the same WillowTree family.
The letters are for variations of the same asset. Most commonly used for texture variations.
● M_WillowTree_01a
● M_WillowTree_01b
Both of these are for the same model. So the SM_WillowTree_01 model. But the B variation has a different
leaf and bark color. And so uses different textures and materials.
5. Folder Structure
Content/Environments/Props/BigTree_01/…
.../SM_BigTree_01.fbx
.../T_BigTree_01_C.tga
.../T_BigTree_01_M.tga
.../T_BigTree_01_R.tga
.../T_BigTree_01_N.tga
.../M_BigTree_01.mat
2. Hierarchy
For rigged characters or objects, we use the following hierarchy >
The second entities are group objects for the meshes, joints and controllers.
● ControlGroup contains the controllers that are used to animate the character. Usually the followup
entity is the Master controller. (Depending on project needs, this is not always used)
● JointGroup contains the entire joint hierarchy. Usually the followup entity is the J_Root_01 joint,
which is usually also located at 0.0.0.
● MeshGroup contains all mesh and blendshape objects.
● All three of these groups are always on 0.0.0
● All three of these groups should never have any keys or animation data.
Axis Conventions
Unity Software
X+ = Left / Horizontal / Side ● Unity = Y-Up
Y+ = Up / Vertical ● Unreal = Z-Up
Z+ = Forward / Front / Deepness ● Maya = Y-Up by default
● 3DS Max = Z-Up by default
Unreal ● Blender = Z up
[NOTE: For scenes and world space. Y = Front, X is ● Softimage = Y up
Side. Yes, it’s inconsistent] ● C4D = Y up
X+ = Forward / Front / Deepness ● Lightwave = Y up
Y+ = Right / Horizontal / Side ● Most CAD software = Z up
Z+ = Up / Vertical ● Modo = Y up.