Asset management 101 -- part 4 : Ten Essential Rules of File Naming 4-6
In this post, the fifth to look at the basic concepts of Asset management, we will look at the seventh rule of File Naming, call it the Golden Rule: There Can Be Only One of Each Version
Every CG Pipeline Production Command and Control System depends upon the identification and tracking of asset revisions and shot takes to avoid chaos and confusion and promote efficient workflows. Equally vital is the association of each asset revision with its source files. So let us talk about best practices in file naming for takes and revisions.
Call Composited Shots "takes"
Image by Kid's Birthday Parties via FlickrWhat is a take?Before I go on, let me clarify that in my thinking, any movie asset or sequence should be called a take. This is the terminology used on set for a shot revision that is rendered (captured) by exposing the film or digitizing the image. A take is a unique rendering of a shot.
If you currently use the terminology “version” or “revision” for a shot or element render, please change your thinking immediately and call them takes. It's important, because it puts you more in the language of filmmaking and more into the right mind set. It will help you remember that it is perfectly acceptable and often desirable to present multiple takes to a director for seleection. It will help you remember that a take can have good and bad qualities, and that at some point, you and the director need to accept a take and move on, because there is limited time for production.Finally, it will help you separate and track what the client sees from what your team sees in internal reviews.
Put Modifiers After Revision Number
In the absence of a solid naming convention that correctly manages the various needs of revision control, artists and coordinators will invent there own ad hoc solutions. which will cause nothing but confusion as supervisors are forced to contend with a mish-mash of file names and, even worse, the destruction of sort order (see rule #5: Protect Sort Order). The most important thing, is to keep all modifiers after the revision or take number.
Artist names are modifiers
For example, artists tend to think that it is perfectly acceptable to separate their work from every one elses, and put a revision number after their own name, like this: shot12_jack_t01. This can be really annoying if you're looking at the folder and see that shot12_jack_t01 is newer than shot12_jill_t07. As soon as you notice this, you know you can no longer count on name sorting, and must now sort and select files by date. This, by the way, is the most common violation of sort order. A more correct way (but not ideal) is :
shot12_t07_jillIf you need Jack's and Jill 's authorship to be part of the file name, it should go after the version number, and version number uniqueness must be maintained. This is the only acceptable way.
Another example is the artist decides to put a descriptive modifier before the version number and then makes files: shot12_redOption_v01.psd, shot12_blueOption_v01psd. Again, this destroys sort order, A more correct thing is to put the option description after the revision number:
shot12_v01_redOption.psdYou should note that in addition to moving the option to be after the revision number, I incremented the revision number for the blue option. This will help with tracking, because now no one will need to include the words "redOption" or "blueOption" when discussing the shot and logging it in software. If your software takes revision and take numbers, you don't have to design it to accept non-numeric data.
Observe also that the ad hoc introduction of letters after your revision number is also just a modifier, like "red" and "blue", but it adds no real information. Don't let artists call variations "v003A" or "t02B". It adds nothing and causes confusion. Instead, use a more descriptive word or establish codes for common needs.
Tie Render Passes To A Revision
Another kind of modifier comes when rendering CG elements. Most contemporary pipelines give compositors more final control with multi-pass rendering. Again, pass names belong after the revision name:
shot12_v01_rgb.####.iffRemember File Naming Rule #6, Rendered Files Must Refer to Their Script? By keeping the CG pass information after the version number, one can infer that all these passes come from the same MAYA file, shot12_v01.mb. This provides an essential association- anyone assigned to revise a pass knows exactly what script generated it.
Suppose you want to adjust the specular pass for shot 12 and add a dirt pass. You would modify the script, save it as "v02" and then render only the new passes. The compositor then would have these assets, and each would tie to a Maya file. Even though the other passes may render correctly from v02, their source is v01.
comp assets from shot12_v01.mb
shot12_v01_rgb.####.iffcomp assets from shot12_v02.mb
Use Takes and Versions Together
The first method, which we can call Internal Take Numbering, is to assign a take number each time the script is rendered for review by a supervisor. This is a very simple system and works well with the naming conventions I've describes so far. For example, these NUKE scripts will generate the shots shown
shot12_t01_jill.nk → shot12_t01.mov
shot12_t02_jack.nk → shot12_t02.movx
shot12_t03_jack.nk → shot12_t03.####.dpx
shot12_t01_jill.nk → shot12_t01_jill.mov
shot12_t01_jack.nk → shot12_t01_jack.movx
shot12_t01_jack_02.nk → shot12_t01.####.dpxDo you see the problems here? First, Jack appended a _02 to his second take, which he used to render the delivery take. Second, jack preceded jill in the alphabet. So when sorting, the sort order is broken. This is why earlier I said appending the artist name after the shot revision number is not ideal.
The better way, when using Delivery Take Numbering, is to do what software companies have done for years- modify the release version with a sub-release number. In this case, what you do is use a take and a revision number at the same time,, and no one is allowed to reuse a combination. For example:
shot12_t01v01_jill.nk → shot12_t01v01_jill.mov
shot12_t01v02_jack.nk → shot12_t01v02_jack.mov
shot12_t01v03_jack.nk → shot12_t01.####.dpx
shot12_t02v01_jack.nk → shot12_t02.####.dpxIn this system, after the take number there is a revision number. Note that in this case, the revision number and artist name is used, and appear only in renders for internal review. Final deliveries are renamed or rendered without the revision number. Of course, this is optional, there is no reason (except embarassment?) to hide the revision number from the client.
Modifications of this system would be to use an undescore or period instead of the v. A period is undesirable, because it could cause confusion in some software, but an underscore works fine. Or you could just concatenate the revision number and use it without punctuation:
shot12_t0101_jill.nk → shot12_t0101_jill.mov
shot12_t0102_jack.nk → shot12_t0102_jack.mov
shot12_t0103_jack.nk → shot12_t01.####.dpx
shot12_t0201_jack.nk → shot12_t02.####.dpxI'm personally not a fan of the last suggestion, but if it works for you, go for it. I like this best, and would drop the user name if convenient:
shot12_01_01_jill.nk → shot12_01_01_jill.mov
shot12_01_02_jack.nk → shot12_01_02_jack.mov
shot12_01_03_jack.nk → shot12_01.####.dpx
shot12_02_01_jack.nk → shot12_02.####.dpx
Make sure your revision modifier policy is understood
If you do use revision numbers after a take number, you have one more decision to make. It's a big one, and everyone needs to understand the studio's policy: does the revision number modify the current take or the last one?
In software, the revision modifies the release. For example, 8.2 is a modification of release 8. to clarify, do you want take 02_01 to come before or after the release of take 02? In the examples I've given so far, it comes before. This is a violation of sort order, so while this may be one way of doing it, I suggest making revision 01 of take 02 to be thought of as the first revision after delivery of take 02. A look at a shot's comp script files would then give the correct sort order and sequence of revision, the ideal in revision control, and in this system, it is unaffected by the addition or omission of artist names. In this example, I will use the period to separate take and revision fields:
shot01_t00.01.shk → .mov output for internal review shot01_t00.01.mov
shot01_t00.02.shk → .mov output for internal review
shot01_t01.shk → .mov output for client review
shot01_t01.01.shk → .mov output for internal review in response to new direction
shot01_t02.shk → .mov output for client review
Use Codes and Punctuation Sparingly
However, while you may use a period as a field separator in a script or other asset file names, image sequence file names with extra periods must be avoided:
example 11 the wrong way
instead, replace the period with some other punctuationshot01_t01.01.aep → shot01_t01.01.####.dpx
example 12 the right way
shot01_t01.01.aep → shot01_t01_01.####.dpx
There can be only ONE.While there will usually be more than one take or revision, there can only be one take one and only one take two and only one take three and only one ....
Please, defend this rule with vigor! Don't let artists break this rule, ask them to rename their files, and make sure every file has a revision control or ID number (even one off files like a quick Photoshop element or a reference) and make sure every file's revision control number is unique.
Asset Management 101 – part 6: Ten Essential Rules of File Naming 8: Abbreviate Consistently