New naming convention proposal #149

Merged
Demeter Dzadik merged 12 commits from Mets/blender-studio-pipeline:mets-naming-conventions into main 2023-11-23 17:11:47 +01:00
3 changed files with 12 additions and 25 deletions
Showing only changes of commit 44c9a38e76 - Show all commits

Binary file not shown.

BIN
docs/media/naming-conventions/hierarchy_name_example.png (Stored with Git LFS) Normal file

Binary file not shown.

View File

@ -36,19 +36,8 @@ Note that there's no technical distinction between different types of assets. Th
The immediate sub-collections of the root collection should be named according to the Task Layers configured in our Asset Pipeline add-on, but this is not strictly required. Task Layers are the different data layers that make up an asset, such as Modeling, Rigging, and Shading. Collections nested beyond this can be named freely, as long as they still start with the namespace identifier. The immediate sub-collections of the root collection should be named according to the Task Layers configured in our Asset Pipeline add-on, but this is not strictly required. Task Layers are the different data layers that make up an asset, such as Modeling, Rigging, and Shading. Collections nested beyond this can be named freely, as long as they still start with the namespace identifier.
So, here's what an asset's collection hierarchy might look like: So, here's what an asset's collection hierarchy might look like:
```txt ![Collection Hierarchy Naming Example](/media/naming-conventions/collection_hierarchy_naming_example.png)
CH-elder_sprite
esprite-model
esprite-head
esprite-teeth_and_tongue
esprite-rig
esprite-widgets
esprite-helpers
esprite-eye.L
esprite-eye.R
esprite-shading
esprite-outlines
```
## Name Prefixes ## Name Prefixes
All Object names (not just in Assets) must start with a prefix describing the object's purpose: All Object names (not just in Assets) must start with a prefix describing the object's purpose:
@ -73,15 +62,7 @@ All local datablocks of an asset (Object, Mesh, Material, Action, etc.) must als
## Indicating Hierarchy ## Indicating Hierarchy
For complex assets, try to use dashes to indicate a nested hierarchy of objects, eg: For complex assets, try to use dashes to indicate a nested hierarchy of objects, eg:
``` ![Indicating Hierarchy in names](/media/naming-conventions/hierarchy_name_example.png)
PR-wardrobe
wardrobe.model
GEO-wardrobe-base
GEO-wardrobe-drawer_01
GEO-wardrobe-drawer_01-knob
GEO-wardrobe-drawer_02
GEO-wardrobe-drawer_02-knob
```
## Indicating Asset Variants ## Indicating Asset Variants
@ -110,7 +91,7 @@ And as always, the namespace identifier must be included, eg. `GN-esprite-proced
### Pose Library ### Pose Library

we established the "no caps, no gaps" rule at some point, should be used here as well. so no uppercase letters except for prefix and suffixes.

we established the "no caps, no gaps" rule at some point, should be used here as well. so no uppercase letters except for prefix and suffixes.
Pose Library actions also need a namespace identifier. For easy consistency, use lowercase words separated by underscores, as usual. Pose Library actions also need a namespace identifier. Other than that, stick to lowercase and underscores.
Examples: Examples:
``` ```
@ -123,7 +104,7 @@ rex-eyes_surprised
``` ```
### Rig Actions ### Rig Actions
Rigs may use Actions for Action Constraint based control set-ups. Since these are datablocks and part of the character asset, they must start with the asset identifier. Rigs may use Actions for Action Constraint based control set-ups. Since these are datablocks and part of the character asset, they must include the namespace identifier.
Corrective Actions are ones which are meant to activate when two other actions activate. These should use the name of the two trigger actions, separated by a "+". Corrective Actions are ones which are meant to activate when two other actions activate. These should use the name of the two trigger actions, separated by a "+".
Examples: Examples:
@ -134,7 +115,7 @@ RIG-esprite-mouth_open+lips_wide
``` ```
### Animations of Shots ### Animations of Shots
Actions created for shots should be named `ANI-{asset_identifier}-{scene_name}-{version}` Actions created for shots should be named `ANI-{namespace_identifier}-{scene_name}-{version}`
Examples: Examples:
``` ```