About Time |
This section explains the notation Shake uses when doing a FileIn (or
Average, PullDown, etc), and the options you have with it. It
also discusses the notation for the timeRange parameter in the GUI Globals,
or the -t option on the command-line. For a discussion of the interactive controls
of time, jump to About The
Time View.
This section is mostly for manual manipulation of time. For most interactive time manipulation, Shake 2.2 relies on the new Time View and its associated timing subtree in the FileIn. You may, however, wish to manipulate time in other ways, specficially on the command-line.
When Shake reads in a clip in the GUI, it will insert the beginning and ending frame of the clip in the clip name, and also give an indication of the padding style, here denoted with the pound sign #:
image.1-50#.iff
Therefore, this indicates that I only want to look at frames 1 through 50, even though there may be more files afterwards. The other frames will be black when read in with the default settings.
Shake puts the start of the range at frame 1. This means if you have
image.20-50#.iff
at frame 1, image.0020.iff will be read.
You can of course escape this in the GUI by shifting your clip to frame 20 in the Time View.
Shake can recognizes a series of frames when reading in a file without using the clip range. When looking at a sequential series of files, use a placeholder in the file name to represent the frame number. This placeholder is either a # (padded images, image.0001.iff, image.0002.iff, etc) or an @ (unpadded images, image.1.iff, image.2.iff, etc). Additionally, if your numbers are padded to a number different than four, you can substitute that with multiple @ signs. Here are some examples:
Shake format | Reads/Writes... |
image.#.iff | image.0001.iff, image.0002.iff |
image.%04d.iff | image.0001.iff, image.0002.iff |
image.@.iff | image.1.iff, image.2.iff |
image.%d.iff | image.1.iff, image.2.iff |
image.@@@.iff | image.001.iff, image.002.iff |
image.%03d.iff |
image.001.iff, image.002.iff |
The range can be set in the GUI under the Global Parameters under timeRange, or on the batch command line with the -t option, which will override the script.
The range description is extremely flexible. Here are some examples:
Time Range | Number of Frames | Frames Rendered |
1-100 | 100 | 1, 2, 3...100 |
1-100x2 | 50 | 1, 3, 5...99 |
1-100x20 | 5 | 1, 21, 41...81 |
1-20,30-40 | 31 | 1,2,3...20, and 30,31,32...40 |
1-10x2,15,18,20-25 | 13 | 1,3,5...9,15,18, 20, 21, 22 ...25 |
100-1 | 100 | 100,99,98...2 |
To set this in the command-line when rendering a script, you would use the -t option:
shake -exec my_script.shk -t 50-60 -v