Global Parameters

These parameters effect the behavior of the entire script, setting things like proxy information and global motion blur controls. Many of these parameters can be set in the command line, so you don't necessarily have to reset them each time you write out a script. For example, your timeRange may be 1-10, but you can modify that when you render on the command-line with the -t option:

shake -exec my_script -t 1-240

Accessing the Global Parameters

To access the global parameters, click on the Globals tab or double-click on a blank spot in the Node View. They will pop up in the Parameter View. They also appear when you first launch Shake.

 

Default Values for Global Parameters

Here are the default values, as they are listed out in the saved script:

SetTimeRange("1");
SetFieldRendering(0);
SetFps(24);
SetMotionBlur(1, 1, 0);
SetQuality(1);
SetProxyScale(1, 1);
SetProxyFilter("default");
SetPixelScale(1, 1);
SetVideoResolution("NTSC 640x480");
SetDefaultWidth(720);
SetDefaultHeight(486);
SetDefaultAspect(1);


The Global Parameters:

cacheMode

This sets the caching mode that Shake uses. The cache is a directory or pre-calculated images with script information attached. When Shake evaluates a node tree, it compares it to the cache to see if it has done this before. If so, by default, it will call up the cached image rather than recalculate. For more information on caching, see About Caching.

none = no cache is read or written.
read-only = the cache is read from, but not written to.
regular = the cache is used completely, but it only writes non-animated values.
aggressive = as regular, but animated values are also cached.

 



defaultZoom

When you change the proxyScale, you are changing the actual output resolution. Since the use of the proxyScale is as a tool to speed up testing, and not as a resizing tool, we set defaultZoom equal to proxyScale to keep the visualized image in the Viewer at the same screen size. This is simply a hardware zoom. If you want to turn off this behavior, set it to 1.

dropFrame

When this is on, it will drop 30 frames to 29.97 frames for time code purposes.

fieldRendering

This can turn on field-based rendering. When it is 0, full frames are rendered. When it equals 1, the odd field take precedence, meaning it is the first line at the top. This is usually for PAL images. When it equals 2, it makes the even field dominant. This is usually for NTSC images. See About Video for more information.


format
-defaultWidth/Height/Aspect/ViewerAspectRatio, DropFrame

You can call up a preset format with this list. Doing so will set your defaultWidth, Height, etc. These settings are only for Shake-generated image nodes that you will create in the future - setting this will not change any that already exist. They also do not set the output resolution. Typically, you set this when you first start your project. That way, every time you create something like a RotoShape, it will inherit this resolution.

Default format choices are:

Name defaultWidth defaultHeight defaultAspect defaultViewerAspect
Academy 1828 1332. 1 1
CinemaScope 1828 1556 .5 2
Full 2048 1556 1 1
1.85 1828 1332 1 1
NTSC (D1 4:3) 720 486 1.1111 .9
NTSC (16:9) 720 486 .83333 1.2
PAL (D1 4:3) 720 576 .9380 1.066
PAL (16:9) 720 576 .7032 1.422
PAL (Square) 768 576 1 1

 

Changing any parameter in format will set the format to Custom.

You can create your own formats in a startup .h file. In $HOME/nreal/include/startup, add a line like this in the following format:

DefFormatType("Name", defaultWidth, defaultHeight, defaultAspect, defaultViewerAspectRatio, framesPerSecond, fieldRendering)

For example:

DefFormatType("NTSC (D1 4:3)", 720, 486, 1/.9f, 0.9f, 29.97,0);

 

framesPerSecond

This sets the default playback rate of the launched flipbook. Note that this can be changed in the flipbook itself by hitting the number pad + and -. The frame rate is displayed at the top of the flipbook.

interactiveScale

This is similar to proxyScale, but is applied only when you are doing an on-screen transform. The image uses lower-res samples, set to the interactiveScale (i.e., .5 is half resolution), and then pops back to your normal proxyScale when you are done moving. Note that this value is a factor of the proxyScale, so a value of .5 on the interactiveScale with a proxyScale value of .5 means .25 of the total resolution.

 

maxThread

This tells Shake how many processors to use, and is set by default to the maximum amount on your system.



motionBlur

This is a global control for all transform node motionBlur parameters. Each node has its motionBlur parameter multiplied by this number. Therefore, if this number is 1, all transform parameters are left alone. If the number is 0, all motion blur is effectively turned off.

By setting it to a number between 0 and 1, you control the amount of samples taken, speeding up the process.

 

noodleTension

Sets the drawing tension of the noodles in the Node View

quality

The equivalent of -fast on the command-line, when this is 0, it turns off anti-aliasing, uses a poor-grade filter, and sets transformations to integer values to avoid sub-pixel sampling. This will considerably speed up your processing. Once you are finished with the script, boost the quality back to 1 and save out your script.

pixelRatio

For when you have squeezed elements, and you later want to apply the script to different unsqueezed elements.

pixelScale

This parameter is used for when you have video-res versions of your 2k plates to do your script construction. When you are done with the script, you redirect the FileIns to pull out the 2k plates, and set a pixelScale of 3.2 to arrive at a 1556 pixel height. All appropriate pixel-based functions are internally scale similar to the use of proxyScale. This command, in effect, is the opposite of proxyScale.

proxyFilter

The filter used by proxyScale and proxyRatio when resizing elements up and down.

 

proxyRatio

Use this when working with anamorphic images to squeeze or unsqueeze them. By setting this, you do actually change the resolution of your image; it is not a visualization change.

 

proxyScale

Use this to speed up your tests by setting the proxyScale to a lower value. It sets the current scale of the input image that you are calculating the tree at. For example, if you are reading in 2k elements, and your proxyScale is at .5, the tree is actually only processing at 1k. However, all pixel-based values are internally multiplied as well, so you don't have to change them.

shutterOffset

This value is added, not multiplied, to each individual transform node. It sets the beginning frame, relative to the current frame, at which motion is calculated for blurs.

 

shutterTiming

Similar to the global motionBlur, this modifies all individual transform node shutterTiming parameters. A shutterTiming of 1 equals 360 degrees, .5 equals 180 degrees, etc. A value of 0 turns off motion blur.

 

time

This is linked to the Time Bar to list the current frame. It is only used for the interface, since the script and the command-line both depend on the timeRange parameter to determine the current frame.

timeRange

This sets the range of frames for the script. The flipbook will read this parameter by default when rendering out to see how many frames to render, and it will be saved with the script as well. See About Time for more information on the syntax. This parameter can be overridden in the command-line.

Hitting the Auto button will take the bounding box of all of your clips, i.e, the from the earliest frame in any clip to the last frame in any clip.

viewerAspectRatio

When this is set to formatDefault, it will take scale the X-size of the Viewer by format's defaultViewerAspectRatio. When set to custom, it is set to whatever value you want. This is usually used to compensate for video distortion. For cinema frames, you typically use the proxyRatio to scale down in Y.

virtualSliderMode

When this is zero, it is assumed you are using the mouse. When it is set to 1, it is assumed you are using a stylus. It also allows you to use the virtual sliders in the text fields simply by dragging the left button - you don't have to press Ctrl.

 

virtualSliderSpeed

This adjusts the speed of the virtual slider. When using a stylus, set it to 0. Believe me.