Naming Conventions and a Production Workflow

Hi All,
I suspect that like many, I went looking for a good overall production workflow and naming convention for 3D projects (short films/animation). While I found various snippets here and there, most of it was either incomplete, very general and missing many steps or very specific to someones exact work.

So while I’m sure much of this is already out there, it seems most of the information is kept very much within various studios and not generally shared. Hence I decided to reinvent the wheel and set about putting together a full Naming system. Like most things, as soon as one starts to take a closer look, it ends up being much more involved and a bigger job then first expected.

Anyway, I continued and the PDF below is basically a first draft of part 1, that being the folder structure. I still plan to cover actual file naming and then what I call component naming (objects like meshes, camera’s, collections, etc within a Blender file).

However, before I start that, it would be nice to get some more eyes on the folder setup and see if I’ve made any big mistakes or totally missed a part of the process before I start to think even more about the files that go in each folder.

Warning, it is a fairly long read, as not only do I list the folders, I cover the reason for each folder and how it should all work and fit together. So while there is a ‘sample folder’ list at the end, please read all before that, so you know why those folders are there and then if need be, tell me I got it wrong and explain why.

Cheers

Naming Conventions for Digital Production.pdf (1.1 MB)

5 Likes

Hey !

I haven’t read all the document (sorry) but it looks like a good folder structure, I haven’t seen some big flaws even if myself doesn’t follow that exact pattern.

I think that’s because it’s hard to get an universal way of managing project structure, it changes depending on the project type and the company habits.
For a small project having a structure as you do is overkill, probably for a blockbuster movie some things needs to be more fine-grained.

There is another way of managing shots, where everything is in the shot folder (including, sources (film plate, stock footage) and renders) ,that way you don’t have a mirrored shot hierarchy in the rendering folder.
I think this organisation is more VFX oriented where each shot is a project of it’s own and the tasks can be quite different from one shot to the other.

I found more convenient to have the render separated so you can erase all that quickly when the project is done.

By looking at your structure, layout is quite separated from the rest. That’s unusual because generally you work with storyboards and from that you already have all your shots defined. Layout then is about preparing the work for animators and goes near animation/lighting/render stages.

I do things simpler, and don’t have separated “stages” in the folder structure. There is a shot folder that contains all the .blend of the shots, at the beginning they are layout then animation, then rendering. As the scene doesn’t change that much that works for me. If during animation a change in layout is needed we just notify layout team. They increment the version of the shot, do the change and it goes back to animation.
If we were working with other software for animation and/or rendering (like export everything to alembic to render in katana) that of course won’t work…

I personally don’t do _A _B shots, if I need a new shot I append it at the end of the list, not perfect either… At some point I named first shot 010, so if I need a new shot between 010 and 020 I can create 015 and all shots stay ordered, but I finally give up on that.

Anyway, once you’ve done all these conventions, test them on a project ! You’ll probably see some improvements and after a few iterations it will be rock solid.

HI, Thanks for the reply.

I had considered that, but the more I thought about it the more I could see one Layout file being used as the ‘source’ or master for many camera shots and at the same time as the setup file for animation of a character that while being a single smooth animation, is seen from multiple camera angles. While one would still render out each shot as its own, it would seem crazy to animate a character as ‘new’ mid action or spoken word as the camera changes.

I can however see how this could be rather different to more pure VFX work with live action, etc. At this stage I’m more looking it as just a pure 3D animation/film.

I thought of _A, _B being more about versions of the same shot, in other words, the camera/layout doesn’t really change, but what’s in it is different in some way. Like animated in a different way or some elements added/removed, etc.

Once I got to the Production section, I found myself needing to create a very basic little test project, just to get my head around how it would work with Blenders linking, collections, overrides, etc. It does require a very specific process, but I think it all works.

That’s a great workflow ! I’ve seen it used and was thinking of doing something similar. For animation not really sure but it depends on the animation style.
In general animation is done considering the camera view, and probably will look bad from another angle. But the tool is great to have, as long as you can split cameras to shots whenever you want.

Hum, ok ! Maybe it’s better to use regular shots version for that , at many stages you’ll need these little changes, let’s say you want 3 different animation for a character, only one of them will get approved and get lighted / rendered / comped and end up in the final edit.

There is an old editing convention for a,b,c shots. When filming all shots gets a number, and if at edit time you want to insert a shot after the shot 210 you make a shot 210b. I’m not sure if that still done nowadays…

I could have guess by giving a better look at your folder structure. I was a bit too fast.
How I do things ( for TV series) is I make a folder for a shot like E001_P002 (E = Episode, P=Plan, the french for shot), and inside the folder we find E001_P001_V001.blend, shots can easily get 70 versions sometime more. We can try many variations but only one will find it’s way to the final edit…

Are all this a kind of personal project or you’re involved in building a pipeline for a company ?

If you had a character delivering a couple lines of dialogue, and the camera angle changed 3 times within the same layout area, wouldn’t you block out all the animation, then do a general emotion/gesture type pass as a whole, before then looking at each camera angle and refining/polishing facial expressions/lip sync?

To me it would seem a little strange and basically start each shot as a whole new animation, part way through a sentence for example when its really all part of acting out the same scene, just from a few different camera angles. Or have I got things totally wrong. I can see how it would apply in the old 2D days, since one is drawing each frame anyway, but with 3D…

Hmm, ok. Maybe its the terminology that’s a bit wrong then. I can see how one could and would have on going versions of the same shot, so V001, V002, etc. So maybe _A and _B, etc is more about an alternate ‘version’ of the shot, rather then a more refined (V001, V002) of the same shot.
But then I guess if its such an alternate, is it just a whole new shot… well, yes and no I think. a whole new shot implies that there is now an addition shot or that the current shot got scraped and a whole new one replaced it. Where in reality in the overall storyboard and even final edit, there is still just this same shot (E001_S001_V001), but we are deciding between using option _A or option _B.
Bit of a late point in the production to make a final approval decision, but I guess it can happen. Or just scrap the whole _A and _B as being too confusion for the likely very odd times it will happen and if V001 to V999 doesn’t cover it, then yeah, just make a whole new shot and replace it.

More personal then anything at this stage, but I figure it helps to be organised and work to a system in both the short and long term.

What you say sound logical, in practice animators are used to work on a shot basis.
I’ve seen productions where all the lipsync was done in a separated pass as one animation, then imported in each shot. Generally animators import animation from previous shot to start as a basis.

It depends on the animation style. I’ve made a breakdow of my last project , you can see that animation and layout can be quite different from one shot to the other : Boon & Pimento : Cartoon series made with blender - #31 by sozap

I think it would be better for your pipeline to support both ways of doing, what you suggest is also interesting to have !

Anyway, that’s really cool ! It’s great to think about having a good folder structure. In the end it’s never perfect but you can always improve on the next project.
What I found difficult to manage is props, you can have hundred of them , having them all in the same folder is unpractical, making sub-category is also tricky sometime. But in the end even if that’s not perfect it still work.

I’m pretty sure both would still work, on the basis that the ‘animation’ file is created via the layout file, so if each shot is going to be treated separately, then one can just link in the single camera for that shot along with any imported animation as required.

I can see how props could end up being a nightmare, but any sub-folders would be very project specific.

1 Like

So its been a while, but has not been forgotten. For the most part I really only progress this as I work my way through my own little production and since that’s slow going (not even touched Blender yet, apart from some basic theory testing with file structures), then I’ve not needed to push naming conventions.

However, I have now made some adjustments to the folder naming and I have now added a draft version for file naming, which so far seems to be working OK.

So, it seems I can’t edit the first post to add/remove the old file link, but here’s the latest version for anyone interested.

Cheers

Naming Conventions for Digital Production_v0.7.pdf (1.1 MB)

2 Likes

I am a retired software engineer.
I worked on code for manufacturing, retail, insurance, government… I wrote DOS apps, Windows desktop apps, embedded apps, browser apps…

Every team had different “standards” - which they all assumed were world-wide standards.

Most of the people who worried about standards never accomplished anything because they were worried about standards.

One of my favorite managers would say “JUST WRITE SOME FRIGGIN’ CODE!”

Hey !

I’ve had a quick look at your conventions, it seems rock solid ! Maybe a bit overkill for a small production but nonetheless I’m sure it will be very effective !
A good folder structure is a tool that allow you to push the end result by staying more organized, and there are many additional tools that can help you to get a better result. It’s also a pleasure in itself to work on these.

Ask yourself what makes you more happy, to develop such tools and become a pipeline TD which is totally fine. Or make some actual projects which is also a lot of work/research and another kind of satisfaction.

The public never look at the folder structure or pipeline tools, only the end result. I’ve seen many great projects (especially small / medium scale) with poor workflows but great end result.
If the end result is important to you , don’t get too distracted by perfecting your pipeline, you’ll do it anyway, focus on creativity first and don’t let your ideas be buried by technical matters.

I’m myself interested in both sides, I wrote pipeline tools and use them for creative work, but as it’s very hard to work on both at the same time, I suggest you to be very clear about what is the most important for you ! I end up doing much more pipeline than creative work, but it’s fine for me, at some point I’ll put all these tools to good use. Anyway I think it’s really really hard to do both at the same time !

Cheers !

It’s really a means to an end, I can’t code to save myself, so TD and creating tools, etc is never going to happen. While at the same time I tend to get bored and/or try to take shortcuts and its never worked out well. So with a combination of looking ahead and seeing just how big a mess even a short animation could quickly become and by organizing the whole workflow, I can more easily divide things up into bite size bits and more clearly see on going progression.

Plus if I get tired or not happy with one bit, I can always move sideways and work on something else, hence the 6 month gap in updating this.

Outside of that, I could of course just kept it all to myself, but it’s so great having these awesome free tools (wish I was 30 years younger), that if I can give a little back which may or may not be of much use to anyone else, then why not.

Nah, are you judging a book by its cover?

A naming convention could be useful for any serious project.

I like to give a feedback to the use of numbers in naming.

In the folder structure, we could divide between two concepts.

First a folder with static contents, following a given name hierarchy.
Second, a folder which does contain actual production data.

On the first case, I do not think it is nescessary to use number-prefix.
But on folder contents which vary (scene shots, assets, etc …) numbers could be very useful.

Thinking about numbers in file/folder names, an idea could be to narrow prefix-numbers to describe a time continuum (1_scene_walking.blend, 2_scene_rising_sky.blend. 3_scene_vesuvio.blend …), while postfix-numbers point out data differences (rock_1.blend, rock_2.blend, tree_1.blend, tree_2.blend …)

You are on an interesting project. Keep the old chariot rolling.

Cool !
It’s really great to share your findings, I had the same frustrations a while back when I was looking for real examples on folder structures, as you said it’s never the full picture, and I’m sure some people will find your document very instructive !
If you can invest as much energy and thoughts in the artistic parts as in the pipeline, I’m sure your projects will be awesome !

It has so far been my experience that “production asset inventories” should be maintained using either databases or carefully-curried spreadsheets."

Although it is, of course, “tempting” to put sequence-numbers and so forth in file/directory/folder names, it is fairly inevitable that the sequence will change. Therefore, I think that you must maintain a very careful database which will enable you to very quickly locate any digital asset as well as to know its history.

“Naming conventions” are just too likely to fall apart.

I somewhat cover that under ‘shot list’ and having a document with all the various details that one may need. I am however also exploring the database idea, using the free production tracking software, Kitsu. I have some early coverage of this little adventure here: Using Kitsu for solo production tracking - #3 by johantri

No doubt, tho for the most part the folder, etc names based on the sequences aren’t really created till after identifying the sequences/shots via the storyboard stage. But even after that, using numbers based on every 10, you have plenty of room to add and even move with a newly assigned sequence number.

I mean at the end of the day, you have to name and store it all somewhere and some how. Its just a matter of finding a system that works.

So you mean like the Assets folder under Production, then yeah, I can see how numbers aren’t really needed and that people may in fact find it easier to locate a folder when they say know the name of the character they are looking for and without numbers its just a quick alphabetical scan. I can see how that could work either way.

However, within each folder, I do think keeping the numbers for the Final, reference, Working, Textures and Renders folders is the best idea. It keeps those in a structured workflow progression, with Final being the top folder for reasons of later linking and layout/shot creation.

Partly that’s what is being done, the time continuum is the sequence/shot numbers with plenty of gaps between each number to allow for additions, etc. While the main use for postfix numbers is as a version in the case of files.

For an actual data difference (ie an actually different looking rock compared to the first modeled rock), I think that will really come down the part 3, which is the Component naming or content within a file, which I’ve not got to yet.

The reason for this is that I’m not expecting to have multiple rock blend files each with a different rock, it will much more likely be a “prop_Rocks_model_fin.blend” file which once you know the naming system, tells you everything you need to know about that file. Then with in it, will be various rock models organized by collections. The reason for this is because of the coming Asset Browser and further work on object linking/library overrides. So you can just link in one file and you now have all your ‘rocks’ for layout and placement in a scene.

This will of course require more testing and careful naming within blender files and partly depend on how it all ends up working once Blender 3.0 is released.

Your concept seems to rely on prefix numbers to list folders in the order you like them to be listed. I won’t use prefix numbers to push folders to list in the order the author of naming convention suggests being best. Listing files in shell or explorer would sort files, but for any other use you have a dangling number prefix. Sorry, but I doubt this is that much of an advantage.

The single rocks example was not that good. A grouped collection of rocks would be better.
I am not sure if it is good practice to have mega-files with all assets of a type. Imagine multiple people working on stone assets. And all of them editing that single file. When it corrupts, there is a backup, or a big problem.

But, I think too, collections of objects better are kept gathered in library files.

Actually the prefix numbers are used to order the folders in a generally established production pipeline/workflow. I did a fair bit of research and looked at the usual film making process and the order in which work is done. While some may call the stages different names or add an extra one or two, most of it falls fairly neatly in to place.

Take the top level folders for example, without numbers, you just have alphabetical sorting, so:

Distribution
Post Production
Pre Production
Production

To my mind that’s just a meaningless order that provides no structure and hence workflow to the production. May as well just sort it by creation date or modification date, none of it has any more advantage, so why not use prefix numbers to force a logical production order?

Yes, a single mega file wouldn’t be the best idea, but then exactly how many different rocks or trees or chairs, etc would one production likely have. With library overrides, giving one the ability to scale/rotate/move any placed rock, having say just 10 or 15 in a single library file provides a lot of variation and unless those rocks are super detailed, the file isn’t likely to get that large.

I forget where I saw/read it, but it was someone talking about a forest scene and they said all you needed was 7 different trees all random scattered with some shading/colour variation and no one will notice that from a model point of view, there are actually only 7 different trees. In other words you avoid a noticeable and repeating (seamless) pattern in your forest.

As for multiple people working on rocks all at the same time, in the same file, yes that would be a problem. In fact, I think that would just be a problem for Blender full stop. But my proposed workflow isn’t really meant for large production studios where you may have more then 1 person working on the same thing at the same time. If the production was of that scale, then a full database driven, SVN based type repository would be used and as such that’s a whole different ballgame.

Thanks for your feedback.

1 Like