Terms
Subspace
An objective is the purpose of your work (obviously π). To achieve a big objective, you usually need many smaller objectives. But objectives are abstractβthey only become real through concrete source files or folders. These files and folders are called subspaces.
So the best way to name a subspace is to use its objective.
Pathname
βββ Subspaces/
β β°ββ Short01/
β βββ Assets/
β β βββ CharA/
β β β βββ CharA.zbr
β β β βββ CharA.zbr
β β β βββ CharA.spp
β β β βββ CharA.blend
β β β β°ββ CharA.v001.blend
β β β°ββ CharB.blend
β βββ Sc010.blend
β β°ββ Sc020.blend
The folder structure clearly shows multiβlevel objectives. From each file, we can see:
| Subspace | Objective | Path |
|---|---|---|
| Short01/ | Make short film Short01 | Short01 |
| Assets/ | Prepare assets | Short01 / Assets |
| CharA/ | Prepare character CharA | Short01 / Assets / CharA |
| CharA.zbr | Sculpt CharA | Short01 / Assets / CharA |
| CharA.spp | Paint CharAβs materials | Short01 / Assets / CharA |
| CharA.blend | Rig CharA | Short01 / Assets / CharA |
| CharA.v001.blend | Backup | Short01 / Assets / CharA |
| CharB.blend | Prepare character CharB | Short01 / Assets / CharB |
| Sc010.blend | Scene 010 | Short01 / Sc010 |
| Sc020.blend | Scene 020 | Short01 / Sc020 |
Multiβlevel objectives ordered from largest to smallest form the subspace path.
A name generated from this path is called a pathname.
For example:
Short01/Sc010.blendβ pathname isShort01_Sc010Short02/Sc010.blendβ pathname isShort02_Sc010
Pathnames are used to generate meaningful, nonβconflicting export paths.
Objective Tree
If we combine all these paths, we get a tree structure called an objective tree.
You can also create the same objective tree using prefixes instead of folders:
βββ Subspaces
β βββ Short01_Assets_CharA.zbr
β βββ Short01_Assets_CharA.spp
β βββ Short01_Assets_CharA.blend
β βββ Short01_Assets_CharA.v001.blend
β βββ Short01_Assets_CharB.blend
β βββ Short01_Seq010.blend
β β°ββ Short01_Seq020.blend
You donβt even need prefixes like Short01_ or Short01_Assets_, and you donβt need folders. You can just use Seq010.blend or CharA.blend.
Folders and prefixes are only needed when you have naming conflicts or too many files. You can keep everything flat if you want.