Though I’m ashamed to admit it, this is actually something I quite perversely enjoy laying out at the start of a project, (I even have an excel sheet that dynamically creates file naming conventions from data stored in a seperate sheet so I can easily adjust the entire project list in the early stages if need be). Of the two folder structures described in the inital post, beginning the industry in a team that used the bottom-up method, I would never wish it upon anyone - with it resulting in many folders containing the same layout of subfolders. As such, it’s top-down all the way for me because it keeps not only all project assets grouped, but all similar file-types, (and therefore different disciplines within a project), working within their own folders. Meaning even if others don’t run a tight ship, the animation folder never becomes a mess.
Within the top-down structure, it makes sense to make each delineation based on groupings of diminishing importance, with the project at the very top and the actual action group in question at the very bottom, for example:
//game_x/animation/ingame/male/combat/walk/… created from
//project/discipline/animtype/skeleton/set/subset/…
For file naming conventions, I’ve grown the habit of the filename reflecting at least part of the folder structure for two reasons:
- It allows files to be easily located by those outside the animation team when tracking down bugs etc.
- Actions will be grouped alphabetically even in a completely flat structure, as often happens once they are re-grouped inside the game engine.
An example of this would be:
//game_x/animation/ingame/male/combat/walk/M_CBT_WalkForward.anim
Clearly if the entire folder structure were added to the filename then it would grow very long indeed, so I use capitalised abbreviations as there should be a manageable amount for the team to learn due to it only describing the skeleton and action set, but I really HATE abbreviations on actual action descriptors (eg. WalkForward becoming WkFwd) - these should be clear for everyone to understand at a glance as there will be potentially thousands per project.
Lastly. regarding seperating raw/working assets such as Maya files from exported files to be used in the engine, I’ve worked on projects that keep them in seperate folders (both with identical top-down structures) and with everything together, and both work as well as long as the latter sticks to the same rigid naming conventions for the multiple filetypes that exist in the same folder.