About Time |
This section explains the notation Shake uses for an Image - FileIn,
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 and Functions By Name - F - FileIn.
This section is mostly for manual manipulation of time. For most interactive time manipulation, Shake relies on theTime View and its associated timing subtree in the FileIn. These are explained under Interface - Time View and Commands By Name - F - FileIn. You can in other ways, specficially on the command line.
When Shake reads in a clip in the GUI, it inserts the beginning and ending frame of the clip in the clip name, and gives an indication of the padding style, here denoted with the number sign #:
image.1-50#.iff
Therefore, this indicates that only frames 1 through 50 are loaded, even though there may be more files. The other frames will be black when read in with the default settings.
Shake puts the start of the range at frame 1. If you have
image.20-50#.iff
at frame 1, image.0020.iff is read.
You can of course escape this in the GUI by shifting your clip to frame 20 in the Time View.
Shake can recognize 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). If your numbers are padded to a number different than four, you can substitute 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 overrides 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, use the -t option:
shake -exec my_script.shk -t 50-60 -v
For command line examples of time manipulation, see Command-Line - Frequently Used Functions.