Shake Homepage.
Apple Computer, Inc. © 2005 Apple Computer, Inc. All rights reserved. Under the copyright laws, this manual may not be copied, in whole or in part, without the written consent of Apple. Your rights to the software are governed by the accompanying software license agreement. The Apple logo is a trademark of Apple Computer, Inc., registered in the U.S. and other countries.
1 Preface 5 5 6 Contents About the New Features in Shake 4 Changes to the Shake Documentation Summary of New Features Chapter 1 9 9 11 11 12 12 12 13 19 20 23 23 24 Interface Enhancements Saving Favorite Views Enable/Disable Local File Paths Directories Saved to the Favorites List Are Permanent Locking Parameters A Next Button to Create Additional Local Variables The Console Tab New Global Parameters Resizing the Node Overview New Ways of Adding and Connecting Nodes Cloned Node Naming Monitor Calibra
Chapter 3 4 73 73 75 81 82 88 94 100 105 Compositing With the MultiPlane Node An Overview of the MultiPlane Node Using the Multi-Pane Viewer Display Connecting Inputs to a MultiPlane Node Using Camera and Tracking Data From .
Preface About the New Features in Shake 4 This document covers all of the new features and enhancements introduced in Shake 4. If you are already familiar with previous versions of Shake, this document lets you focus on the extensive new enhancements and additions. Note: All of information in this document is duplicated from the Shake 4 User Manual included in your Shake box and available in PDF-format from the Shake Help menu.
Summary of New Features This section summarizes the new features that appear in this document. Topics in Chapter 1 • You can open two scripts at once using the Shake graphical user interface. • You can save and restore favorite views in each Shake interface area. • You can enable the ability to use relative paths in the File Browser. • Favorite directories in the File Browser are now saved automatically. • There are now lock controls for each parameter.
• The AutoAlign node uses advanced image processing to align up to three input images with one another, automatically. • The LensWarp node provides calibration tools to correct for lens distortion, or to match the lens distortion from one shot in another. Chapter 3 • Chapter 3 contains complete documentation for the MultiPlane node, which provides the ability to do the following: • Composite background or foreground elements against a moving background plate using 3D camera tracking data.
1 Interface Enhancements 1 This chapter covers general enhancements throughout the Shake interface. Opening Two Scripts at Once Shake is designed to have only one script open at a time. Typically, each script is used to create a single compositing project, with a single frame range and a single node tree. Although Shake supports multiple independent node trees within the same script, all trees share the same duration, defined by the timeRange parameter in the Globals tab.
Once you’ve saved one or more Favorite Views in each interface area, you can instantly recall the position, zoom level, and state of that area by recalling the Favorite View that you saved. You can save up to five Favorite Views. To define a Favorite View: 1 Pan to a position in an area that contains the region you want to save as a Favorite View. If necessary, adjust the zoom level to encompass the area that you want to include.
To restore the framing and state of a Favorite View, do one of the following: • Right-click in the Viewer, Node View, or Curve Editor, then choose Favorite Views > View N > Restore Framing & State from the shortcut menu (where N is one of the five Favorite Views you can save). • Press Option-F1-5 or Alt-F1-5, where F1, F2, F3, F4, and F5 correspond to each of the Favorite Views.
To add an entry to the favorites list: 1 Open the File Browser. 2 Click the Bookmark button. The currently open directory is added to the Favorites list. All favorite directory paths you add are saved in the favoritePaths.h file, located in the $HOME/nreal/settings/ directory. To remove favorite directories, delete them from this file. Locking Parameters Most parameters now have a lock button next to the Autokey button. This control lets you lock that parameter so that it can’t be modified.
New Global Parameters The following new parameters have been added to the Globals tab: consoleLineLength The maximum line length of information displayed in the Console tab. This defaults to 120 characters. textureProxy The proxy level at which texture-rendered images that are used by the MultiPlane node’s hardware-rendering mode are displayed in the Viewer. This is similar to the interactiveScale setting, in that the proxy level that’s set here is used to generate onthe-fly Viewer images.
Unlike most other guiControls parameters, which are either off or on, these parameters—showTimeDependency, showExpressionLinks, showConcatentationLinks, and noodleColorCoding—have three states. This allows you to toggle all three parameters using the enhancedNodeView command from within the Node View. The three states are: • off: Always off, regardless of whether or not enhancedNodeView is turned on. • on: Always on, regardless of whether or not enhancedNodeView is turned on.
Enhanced Node View Parameters There are seven parameters in the enhancedNodeView subtree. showTimeDependency This parameter, when turned on, draws a bluish glow around nodes that are animated. This includes nodes that consist of FileIn nodes that reference a QuickTime movie or multiple-image sequence, nodes containing keyframed parameters, or nodes utilizing expressions that change a parameter’s value over time.
ShowConcatenationLinks When this parameter is turned on, a green line connects a series of nodes that concatenate. For example, three transform nodes that have been added to a node tree in sequence so that they concatenate appear linked with a green line connecting the left edge of each node. As a result, nodes that break concatenation are instantly noticeable. In the following screenshot, the Rotate1, CameraShake1, and Pan1 nodes are concatenated.
stipple8Bit, stipple16Bit, stipple32Bit The stipple pattern of a noodle indicates its bit depth. In the following screenshot, three renamed Bytes nodes output 8-, 16-, and 32-bit float data respectively. The stippling indicates each bit depth at a glance. noodleColor Coding Different combinations of color channels being propagated down the node tree are represented by different colors.
The top parameter, noodleColor, lets you change the base color of noodles in the Node View. Noodles are white by default, but you can use the color control to change this to anything you like. Customizing Noodle Stippling You can customize the stipple patterns of noodles in the enhancedNodeView subtree of the Globals tab. You can also customize the colors used to identify noodle bit depth in the noodleColors subtree of the colors subtree of the Globals tab. 18 Chapter 1 Shake 4.
In the enhancedNodeView subtree, the stipple8Bit, stipple16Bit, and stipple32Bit parameters each have five different stipple patterns you can choose from, for maximum clarity. Creating Custom Stipple Patterns Different stipple patterns can be set in a .h preference file. Each stipple pattern is defined by a four-byte hex number that, when converted to binary, provides the pattern of the line drawn for each bit depth—each 1 corresponds to a dot, and each 0 corresponds to blank space.
New Ways of Adding and Connecting Nodes There are several new ways of working in the Node View. To add one type of node to multiple nodes in the Node View: 1 Select two or more nodes in the Node View. 2 In the Tool tabs, right-click the node you want to add, then choose Insert Multiple from the shortcut menu. The new node is inserted after each selected node. To connect one node to another by Shift-clicking: 1 Select the first node you want to connect. 20 Chapter 1 Shake 4.
2 Move the pointer over the second node you want to connect so that the knot is visible, then Shift-click the knot to connect both nodes together. You can also use this technique to connect a group of nodes to a single multi-input node, such as the MultiLayer, MultiPlane, or Select node. To connect several nodes to a multi-input node at once: 1 Select all of the nodes you want to connect to the multi-input node. Chapter 1 Shake 4.
2 Shift-click the plus sign input of the multi-input node. All selected nodes are connected. To insert a disconnected node between two existing nodes: 1 Drag a node directly over a noodle so that both its knots appear highlighted. You can select which input of a multi-input node to insert by dragging the node to the left or right, so that the desired input knot is highlighted. 2 When you release the mouse button, the node is automatically inserted. 22 Chapter 1 Shake 4.
Cloned Node Naming Cloned nodes are automatically named OriginalNode_CloneN, where N is the number of clones that have been made. You can clone a node as many times as you want, and all cloned nodes are linked to the original node. In the following screenshot, the Gamma1 node has been cloned twice, in order to apply an identical gamma correction to the other two images in the tree.
• The calibration profiles generated using TLCalibrate can then be used by the Truelight VLUT (Viewer lookup table) control in the Viewer shelf. The Truelight VLUT lets you previsualize the image in the Viewer as it will look after being output from a film recorder, or displayed by a high definition monitor or projector. You can use the Load Viewer Lookup command to make adjustments to the Truelight VLUT parameters in the Parameters tab, choosing which device profile you want to emulate.
Pan The pan controls provide two ways to move the image within the Viewer. Drag anywhere within the image bounding box to reposition the image freely. Drag the vertical arrowhead to restrict position changes to the yPan parameter. Drag the horizontal arrowhead to restrict position changes to the xPan parameter. You can also press Q or P while dragging anywhere within the Viewer to pan an image without having to position the pointer directly over it.
3 When the dimension pointer appears, drag in the direction you want to scale the image. The colors in the dimension pointer correspond to the pan controls. When you drag, the dimension pointer turns into an axis arrow, indicating the dimension in which you are scaling the image -- horizontal, vertical or diagonal. Rotate Drag the blue rotate control to rotate the image about the center point, affecting the angle parameter.
Move2D The Move2D node combines the onscreen transform controls for the Pan, Scale, and Rotate nodes into a single, all-purpose transformation node. After an image is rotated with the Move2D node, the horizontal and vertical panning controls (arrowheads) lock movement to the new orientation of the image. Move3D Similar to the Move2D node, the Move3D node adds three colored dimensional angle controls to control xAngle (red), yAngle (green), and zAngle (blue) parameters.
As with the Move2D node, when an image is panned with the Move3D node, the horizontal and vertical panning controls lock movement to the new orientation of the image, instead of the absolute orientation of the Viewer frame. There are keyboard shortcuts (identical to those used within the MultiPlane node) that you can use to manipulate images without having to position the pointer directly over them.
2 Major Features and New Nodes 2 This chapter covers major new features, and new nodes that have been added to Shake 4. Support For the OpenEXR Format OpenEXR (.exr) is an extremely flexible, cross-platform file format developed and maintained by Industrial Light & Magic. Key features of the OpenEXR format include support for the efficient storage of high dynamic-range image data using the 16-bit float “half” format, and support for auxiliary image data channels.
Shake Support for Auxiliary OpenEXR Data Channels Internally, Shake only supports the processing of RGBAZ channels down the processing tree. However, the FileIn node provides channel remapping options in the Image tab of a FileIn node’s parameters. Each channel that Shake supports has a corresponding popup menu. Each menu presents a list of every compatible channel within the referenced OpenEXR file. Color channels that correspond to Shake’s supported channels are mapped by default.
• ZIP: (Lossless) Differences between horizontally adjacent pixels are compressed using the open source zlib library. ZIP decompression is faster than PIZ decompression, but ZIP compression is significantly slower. Photographic images tend to shrink to between 45 and 55 percent of their uncompressed size. • PXR 24: (Lossy) After reducing 32-bit floating-point data to 24 bits by rounding, differences between horizontally adjacent pixels are compressed with zlib, similar to ZIP.
For example, you can use Final Cut Pro 5 to superimpose a group of clips that you want to turn into a single composite using Shake. Final Cut Pro 5 makes it easy to set the In and Out points of each clip, and how they overlap. You can then send the media to Shake along with each shot’s edit decision information, freeing you from having to reconstruct the media arrangement within Shake. You can also move an entire sequence of clips into a Shake script.
The result would be the following Shake script, with one Select node and one MultiLayer node.
Unsupported Media and Effects Since QuickTime is the file format used for all media exchange between Final Cut Pro 5 and Shake, the following media and settings are not imported into Shake from Final Cut Pro 5: • QuickTime audio tracks • Standalone audio files • Still image files • Generators • Composite modes • Transformations (referred to in Final Cut Pro 5 as motion effects) • Filters Sending Clips From Final Cut Pro 5 If you want to send one or more selected clips (or a single sequence), from Final Cut
4 When the Send to Shake dialog appears, select the appropriate options: • Resulting Sequence Name: Type a name for the sequence that you’ve selected, prior to sending the media to Shake. • Save as Shake Script: Type a name for the Shake script to be created, then click Choose to pick a location on disk to save it to.
The placeholder QuickTime clip in your Final Cut Pro 5 project corresponds to the media that will eventually be rendered out of Shake—specifically, from the FileOut node appearing at the end of the generated Shake script. The TimeRange of Scripts Generated From Final Cut Pro 5 The timeRange Global parameter in the Shake script that’s created by the Send to Shake command is automatically set with the appropriate range of frames for the media it references.
Adaptive This option in the retimeMode pop-up menu uses advanced image analysis to generate new in-between frames, creating seamless slow and fast-motion effects. Selecting Adaptive reveals additional parameters. Fast versus Best Settings for Adaptive Retiming When setting up an adaptive timing operation, you might be tempted to simply choose Best across the board for every parameter.
• AlwaysInterpolate: With AlwaysInterpolate turned off, the final result of a retiming operation is a mix of original, unprocessed frames, and interpolated frames. For example, setting the speed to 0.5 to slow an image sequence down by 50 percent results in an alternating series of original frames and interpolated frames.
Important: If you’re converting a clip from a video frame rate to that of film with the intention of adding 3:2 pulldown back to the video (to achieve a film look for video), render the 24 fps conversion first. Add 3:2 pulldown to the shot in another operation by processing it in a second script, or by adding 3:2 pulldown with a command-line render. Fast Vs.
Convert Parameters The Convert mode has the following parameters: InputFrameRate Specify the original frame rate of the input media here. This parameter is also a subtree with two additional subparameters. InputFrameInterlaced If the input media is video, enable this parameter if it’s interlaced. InputFrameDominance If the input media is interlaced, specify the field dominance here. OutputFrameRate Specify the output frame rate here for format conversion.
OutputRes Two fields where you enter the horizontal and vertical output resolution you want to convert the media to, to scale it up or down. Scaling an image sequence using the OutputRes parameter of the Convert options results in higher-quality output than using Shake’s Transform nodes. Recursive Turning this parameter on enables a different resizing method, which can be sharper when enlarging some kinds of images. Try it on one or more representative frames to see if it helps.
AspectRatio This parameter is a multiplier that allows you to convert pixels of one aspect ratio into another aspect ratio—for example, from NTSC to PAL, or from high definition (square) to NTSC. The default value of 1 makes no change to the output. The following table contains common conversion values: Operation Conversion Value Square to NTSC (4:3) 0.9140, or 1 if Fit is set to Resize Square to PAL (4:3) 1.1111, or 1 if Fit is set to Resize NTSC (4:3) to Square (4:3) 1.
From that point on, Shake references the cached image data within that node, instead of constantly reprocessing the nodes that precede it, unless a change is made to one of the preceding nodes. This section of the node tree is cached by the selected Cache node below. This Cache node caches the image generated by the nodes above it. Important: Using a Cache node crops the image to the current image size, eliminating data from the Infinite Workspace from that point in the node tree on.
The total cache memory limit has been exceeded. The second possibility is that the amount of memory needed by all the Cache nodes in your script exceeds the memory assigned to the cache by the diskCache.cacheMemory global plug. In this case, no additional Cache nodes may be cached without increasing the diskCache.cacheMemory global plug.
Parameters in the Cache Render Parameters Window The Cache Render Parameters window has the following parameters: renderCacheNodes If you have multiple Cache nodes in the node tree, you can select one or more of these and render them simultaneously by setting renderCacheNodes to Selected in the Cache Render Parameters window. Or you can render all Cache nodes in the node tree by setting renderCacheNodes to All. timeRange If necessary, you can change the timeRange to cache a different frame duration.
cacheStatus This is a display-only parameter that shows whether the input image has been cached or not. • not cached: Nothing has been written to the cache. • in disk cache: Input image data has been moved to the disk cache. This is a result of the memory cache becoming full, or cache images having been saved after exiting a previous Shake session. • in memory cache: The input image data has been written to the memory cache.
New Parameter in the Mask Subtree of Nodes A new parameter has been added to help you manage mask input. clampMask Turning this parameter on clamps mask image data to a value between 0 and 1. New Features for RotoShape Nodes RotoShape nodes, and other nodes that use shapes, have additional features. Copying and Pasting Shapes Between Nodes There are several nodes that use shapes besides the RotoShape node.
To copy a keyframe: 1 Move the playhead in the Time Bar to the frame where you want to copy the current state of the shape. 2 Right-click the transform control of the desired shape, then choose Copy Keyframe of Shape from the shortcut menu. Note: You can copy the state of a shape at any frame, even if there is no keyframe there. Simply position the playhead anywhere within the Time Bar and use the Copy Keyframe command. That data can be pasted at any other frame as a keyframe.
When you click retimeShapes, the Node Retime window appears. The retimeShapes command has two modes, Speed and Remap, which affect a RotoShape node’s keyframes similarly to the Speed and Remap options found within the Timing tab of a FileIn node. Speed Adjustments The default Operation, Speed, lets you compress or expand all of the keyframes within the RotoShape node by a fixed multiplier. Suppose you have the following group of keyframes: Using the default Amount value of 2.
Note: If you want to create a curve specifically to use with the Node Retime command, you can create a local variable within the RotoShape Parameters tab, load it into the Curve Editor, and create a curve expression which you can then copy and paste from the local variable into the Retime Expr field. Attaching Trackers to Individual Control Points You can attach separate trackers to each of a shape’s individual control points. You can attach as many trackers to as many separate control points as you like.
Importing and Exporting Shape Data Two controls let you import and export shape data between Shake and external applications. These controls are located in the Viewer shelf when editing RotoShape, Warper, or Morpher nodes. m To export shape data: Click the Import Shape Data button in the Viewer shelf, choose a name and destination for the export file in the File Browser, then click OK.
Masking Important Features The SmoothCam node has two inputs. The first one is for the input image to be processed. The second input is for an optional matte with which you can isolate a subject or area that you want the SmoothCam node to ignore while performing its analysis. When creating a matte to use with the SmoothCam node, white areas are ignored, and black areas are analyzed.
3 Adjust the translationSmooth, rotationSmooth, and zoomSmooth sliders to increase or decrease the amount of smoothing that is attempted. At 0, no smoothing is attempted in that dimension. At higher values, SmoothCam attempts to smooth a wider range of variations in the movement of the image from one frame to the next. • translationSmooth: Smooths the X and Y motion of the shot. • rotationSmooth: Smooths rotation in the shot. • zoomSmooth: Smooths a zoom within the shot.
Try editing the analysis data If neither of the prior solutions helps, try loading the confidence parameter into the Curve Editor, then look for frames where the confidence parameter falls to 0. If the image transformation at these frames stands out, you can try loading the translationX, translationY, rotation, and/or zoom parameters within the motion subtree into the Curve Editor, then delete any keyframes that create unusual spikes at those frames.
in This option maintains the frame size of the input image as that of the output image. The result is a moving black area that encroaches around the edges of the output image. Union Intersection In You can use one of the above three clipMode options to produce the output image most useful for your purposes. Note: Whichever clipMode you use, areas of the image that end up being clipped are preserved by Shake’s Infinite Workspace, available for future operations.
Parameters in the SmoothCam Node This node displays the following controls in the Parameters tab: analysisRange The range of frames of the input image to analyze. By default, this parameter inherits the number of frames in the source media file represented by the FileIn node to which it’s connected, not the timeRange in the Globals tab. processedRange This is not a user-editable parameter. It indicates the overall frame range that has been analyzed.
• intersection: Contracts the rendered frame to exclude any black area. The result is a stable output image that fills the frame, but with a frame size that’s smaller than the input image. • in: Maintains the frame size of the input image as that of the output image. The result is a moving black area that encroaches around the edges of the output image. steadyMode The SmoothCam node has two modes: Smooth and Lock.
• rotateLock: Locks the rotation of the image. • zoomLock: Locks an image that is being zoomed. Note: Don’t turn on zoomLock unless you’re absolutely positive that the image is being dynamically zoomed. • perspectiveLock: Locks an image experiencing a change in perspective, similar to a reverse corner-pin. Motion The values within the parameters in the motion subtree are not meant to be editable, or even directly intelligible.
Stitching Images Together When you connect two or three overlapping images or image sequences to the AutoAlign node, they’re assembled into a single composite panoramic image. The input images can be either vertically or horizontally oriented—the AutoAlign node automatically determines the areas of overlap and aligns them appropriately. Note: The order in which you connect images to the AutoAlign node doesn’t matter; their position is automatically determined.
Aligning Overlapping Images You can also use this node to align two images that almost completely overlap. An obvious use of this is to align an image with something in the frame that you want to remove with a second “clean plate” image. After you’ve aligned the two images, you can use the aligned output image as a background plate for use in a paint or roto operation to remove the unwanted subject.
Using the AutoAlign node to align the second image with the first, you can quickly match the clean plate still to the moving image sequence, and then output the newly aligned and animated clean plate for use by a paint or rotoscoping operation to paint out the safety line. AutoAlign Limitations Successful use of the AutoAlign node is highly dependent on the content of the input images, and results will vary widely from shot to shot.
AutoAlign Image Requirements Although the AutoAlign node is a very flexible tool, it produces the best results with material that is produced with this node in mind. • There should be at least a 15-to-20-percent overlap between any two images for the AutoAlign node to work properly (the amount that’s necessary may vary depending on the image).
5 If you’re analyzing images for the first time, set the mode parameter to Precise. If you’re not satisfied with the result later in the operation, change mode to Robust and re-analyze the images. 6 Click the “analyze” button. Shake steps through each frame in the image sequences and analyzes each set of aligned images at every frame in the designated analysisRange. Note: The analysis can be interrupted at any time by pressing Esc.
The order in which they are connected is not important. 2 Use the clipLayer and lockedPlate pop-up menus to choose the input to which the clean plate image is connected. In this example you’ll be choosing Input1. Leave mode at the default setting of Precise. 3 Set the analysisRange to the number of frames you want to align. This parameter defaults to the maximum number of frames within the longest image sequence that’s connected to the AutoAlign node. 4 Click “analyze.” Shake begins the image analysis.
5 Once the analysis has concluded, changing blendMode to mix and scrubbing through the Time Bar shows you how well the resulting alignment works. The Mix setting, in the case of two images that almost completely overlap, results in an a fifty percent blend of both images. In the above image, the ripples in the snow appear to align perfectly.
7 The auto-aligned clean plate can now be used in paint or rotoscoping operations to remove unwanted rigging from the actor in the mountaineer shot. For example, you can connect the original Mountaineer image to the first input of a QuickPaint node, and the output from the AutoAlign node to the second input. 8 With this setup, you can use the Reveal Brush to paint out the rigging against the backdrop of the clean plate.
AutoAlign Parameters The AutoAlign node displays the following controls in the Parameters tab: analyze Click this button to perform the analysis that is the first step in aligning two or three images. This analysis creates a preprocessed data set that is used to perform the actual alignment. Images only have to be analyzed once, and the resulting transform data is stored inside the Shake script.
• 0.5: Indicates an uncertain analysis. Despite the uncertainty, Shake has generated a keyframe at these frames. • 0: Indicates that Shake has no confidence in the analysis. No keyframe has been generated at these frames. • mMatrix, nMatrix: These parameters contain the data accumulated by clicking the “analyze” button. mode Two options—”precise” and “robust”—let you change the method used to perform the analysis. In general, set this mode to “precise” the first time you analyze the input images.
Note: If necessary, you can preprocess images connected to the AutoAlign node with other color correction nodes to even out differences in gamma and contrast that aren’t addressed by the matchIllum parameter. The LensWarp Node This node lets you make subtle or large adjustments to an image to either correct for, or simulate, different types of film and video lenses. As a corrective measure, you can use this node to remove barrel distortion in an image.
Each feature should be traced with at least four points. The more curved a feature is, the more points you should use to trace it with. On the other hand, you should rarely need to use more than ten points per feature. To finish drawing an open shape, double-click to draw the last point and end the shape. Note: The LensWarp node does not use Bezier curves. 3 If you’re correcting an image sequence, scrub through the frame range to find more curved features, then trace these as well.
Button Description Delete Control Point Select a point and click this button to remove it from the shape. Enable/Disable Lets you show or hide the transform control at the center of Shape Transform each shape. Hiding these controls will prevent you from Control accidentally transforming shapes while making adjustments to control points.
overSampling An integer value that represents the numbers of samples per pixel that are taken into account when performing a warp. This parameter is set to 1 by default, which results in faster rendering times. However, extreme warping effects may introduce aliasing artifacts that can be reduced or eliminated by increasing this value, up to a maximum value of 4. Increasing this parameter may cause render times to increase dramatically.
3 Compositing With the MultiPlane Node 3 The MultiPlane node provides a simple 3D compositing environment within Shake. This environment can be used as a way to arrange and animate images within a 3D space, or as a way to integrate generated or tracked 3D camera paths into your scripts. An Overview of the MultiPlane Node The MultiPlane node provides a compositing environment for positioning 2D layers within a 3D space.
Viewing MultiPlane Composites When you double-click a MultiPlane node to open it into the Viewer, the Viewer switches to a multi-pane interface, unique to the MultiPlane node. Each pane of this interface can be toggled among single, double, triple, and quadruplepane layouts. Each individual pane can be set to display any available camera or angle in the 3D workspace, to help you position and transform objects from any angle.
Render Mode Button Description This mode sets the Viewer to use Hardware rendering while you’re making adjustments using onscreen controls. Once you’ve finished, the Viewer goes into Software rendering mode to show the image Hardware Mode While Adjusting at the final quality. To turn this setting on, click and hold the Render Mode button, then choose this option from the pop-up menu that appears. This mode displays the selected renderCamera as it appears at its actual quality.
m To work within a MultiPlane node using the multi-pane interface: Double-click a MultiPlane node to load its image into the Viewer and its parameters into the Parameters tab. Now, the Viewer switches to the MultiPlane’s multi-pane Viewer interface. Once the multi-pane interface is displayed, you can toggle among four different layouts. m To change the MultiPlane Viewer layout: Click the Viewer Layout button in the Viewer shelf. Keep clicking to cycle among all the available layouts.
Changing Angles Within a Pane Although the multi-pane layouts are fixed, you can change the angle displayed by each pane at any time. The assigned angles appear in white at the lower-left corner of each pane. m m To change the angle displayed by a single pane, do one of the following: Right-click within a pane, then choose a new angle from the shortcut menu. Position the pointer within the pane you want to switch, and press one of the numeric keypad keyboard shortcuts (0-5) to switch layouts.
Using and Navigating Within the Perspective Angle In addition, there is a single non-isometric angle, Perspective (Persp). This is the only pane where you can transform a layer’s X, Y, and Z parameters all at once. In addition to panning and zooming to navigate within this angle, you can also orbit the Perspective angle. m To orbit the Perspective view: Move the pointer within a pane displaying the Perspective angle, press X, and drag with the middle mouse button held down.
• It’s the only angle that can be switched between viewing the software-rendered final output, and the hardware-rendered preview. • It’s the only angle with a compare control (in software-rendering mode only). • The image border ROI (Region of Interest) appears only for the renderCamera angle. • There are additional keyboard shortcuts available for transforming a camera. For more information, see “Manipulating the Camera” on page 105.
Button Description Rendering Mode Toggles the Camera View pane of the Viewer between hardware (HW) and software (SW) rendering. Hardware rendering is faster, but the color and quality of the image is less accurate; this mode makes it easier to position objects. Software rendering is slower, but allows you to accurately see the final image as it will be rendered. Viewer Layout Toggles the Viewer among four different multi-pane layouts, single, double, triple, and quadruple.
Connecting Inputs to a MultiPlane Node Like the MultiLayer node, the MultiPlane node accepts a variable number of inputs. Drag input noodles from other nodes onto the + sign on the top of the MultiPlane node that appears when the pointer passes over it. The + sign always appears to the right of all other previously connected knots. Before After You can also attach several nodes to a single MultiPlane node simultaneously.
Using Camera and Tracking Data From .ma Files The MultiPlane node supports .ma (Maya ASCII) files, allowing you to import 3D camera paths from a variety of 3D animation packages, or use 3D tracking data clouds generated by third-party tracking applications. Every new MultiPlane node is created with one camera, named camera1. Importing a .ma file adds a camera to the renderCamera pop-up menu in the Camera tab of the MultiPlane node’s parameters.
The data from the .ma file appears in the Viewer as a cloud of points. The camera or tracking data populates the parameters of the Camera tab, and a new camera appears at the bottom of the renderCamera pop-up menu. Important: Many 3D applications export camera paths with timing that begins at frame 0. Shake scripts begin at frame 1, which can result in a one-frame offset. To correct this, edit the timing of each camera path point as described in “Editing Locator Point Data” on page 87.
Unattached layers that are positioned within the 3D workspace should now appear as if they’re moving along with the features within the attached layer. For more information about attaching a layer to the camera, see “Attaching Layers to the Camera and to Locator Points” on page 94. Importing Data Clouds From Maya In Shake, the aspectRatio parameter of a layer within the MultiPlane node is determined by the width and height values of the filmBack parameter in the Camera tab.
Thus, you can set up animated MultiPlane composites using multiple MultiPlane nodes, instead of connecting all your images to a single MultiPlane node. For example, you might set up a composite using three different MultiPlane nodes—one for background layers, one for midrange layers, and one for foreground layers. This way you can apply separate color correction and Defocus nodes to the output of each sub-composite.
The “Link camera” window appears. The “Link to” pop-up menu presents a list of every camera and angle within every MultiPlane node in your script. 4 Choose the camera you want to link to from the “Link to” pop-up menu, then click OK. The camera in the current MultiPlane node is now linked to the camera you chose. Every parameter in the Camera tab is linked, with expressions, to the matching camera parameter of the MultiPlane node you chose.
m To change the size of the locator points displayed in the Viewer: Adjust the multiPlaneLocatorScale parameter, located at the bottom of the guiControls subtree of the Globals tab. Default MultiPlaneLocatorScale of 1 MultiPlaneLocatorScale set to 3 If the data cloud has individually labeled locator points, these labels are viewable within Shake.
A new subtree named pointCloud appears at the top of the Images tab of the MultiPlane node’s parameters. Opening the subtree reveals a list of every point that’s been added using the Expose command. Opening an individual locator point’s subtree in this list reveals its xPos, yPos, and zPos parameters. These parameters can be loaded into the Curve Editor to edit, animate, or slip their values in time.
If you have many layers stacked up within a single MultiPlane node, you may want to turn one or more layers invisible to make it easier to manipulate the remaining layers. Invisible layers aren’t output when the script is rendered. Layer Controls When you select a layer, that layer’s onscreen controls appear superimposed over it.
Pan and Center Controls Selected layers in the Viewer have two sets of onscreen controls for panning in 3D space—global axis and local axis pan controls. Local axis pan control Global axis pan control Global axis controls pan a layer relative to the overall 3D space, even if the layer has been rotated. Panning a layer up with a global axis control pans it straight up in space.
The local axis pan controls pan the layer relative to its own orientation. If a layer has been rotated using the angle controls, using the local pan controls moves it along the axis of its own rotation. Panning a layer up with a local axis control pans it diagonally in space. Before local axis pan m After local axis pan To pan along the Local Axis: Drag one of the two local axis pan controls to move the layer in that direction.
To rotate a layer in the Viewer without using the angle controls: 1 Select a layer. 2 Press W or O and click in a pane of the Viewer. 3 When the dimension pointer appears, move the pointer in the direction in which you want to rotate the layer. The colors in the pointer correspond to the angle controls. 4 When you move the pointer, the axis in which you first move is indicated by a single axis arrow, and the layer rotates in that dimension.
3 Drag the dimension pointer in the direction in which you want to scale the layer. The colored arrows correspond to the pan controls. 4 When you move the pointer, the direction in which you first move is indicated by a single axis arrow, and the layer scales up and down in that dimension. Creating Layer Hierarchies You can create hierarchical relationships between layers within a MultiPlane node using the parentTo parameter.
Deleting Parent Layers When you disconnect a layer that’s being used as a parent, a warning appears: Clicking Yes removes the parent layer, eliminating the parent-child hierarchy. The remaining layers’ parentTo parameters still show the original layer, in the event you decide to reconnect it later on. Showing and Hiding Layers You can toggle the visibility of layers.
Attaching Layers to the Camera To use a MultiPlane node to matchmove one or more images into a scene using 3D tracking data, you need to do three things: • Import data from a .ma file. • Position the images you want to matchmove. • Attach the originally tracked image sequence to the camera. Attaching the layer that produced the tracking data to the camera forces the attached layer to follow along with the camera as it moves according to the tracking data.
Decreasing the cameraDistance value brings the layer closer to the front of the composition, while increasing the cameraDistance pushes the layer farther away. Attached layers move back and forth along the lines that are projected from the camera itself to the four corners of the frustum surrounding the camera target.
3 Turn on Attach Layer to Camera for the background and isolated building layers to lock both images to the full area of the renderCamera angle in the Viewer. 4 Open the subtree for each attached layer, and adjust the cameraDistance parameters to create the necessary spacing between each element for your composition. In this case, the front building is moved forward so there’s room between the building and the rest of the background plate for the hot-air balloon.
As a result, the balloon appears positioned between the front building and the rest of the city in the camera view. A balloon image inserted between. the front building and cityscape The resulting camera angle Because both the building and city layers are attached to the camera, they look identical to the original input image from which they’re derived, regardless of each layer’s position within the 3D workspace.
To attach a layer to three locator points: 1 If necessary, move the layer’s center point to a position at which you want the layer to be attached to the locator point. 2 Shift-click three locator points in the Viewer. 3 Right-click one of the selected locator points, then choose a layer from the Attach Plane to Point shortcut menu. The layer is panned so that its center point is at the center of the triangle defined by the three selected locator points.
• Raising sceneScale expands the distribution of points, moving any layers that are locked to locator points away from the camera. The locator points themselves appear to stretch out. Changing the sceneScale parameter has no effect on layers that are attached to the camera, nor does it affect the position of layers that are not attached to locator points. It does, however, affect the size of the frustum, increasing or decreasing the area that is seen by the camera.
Individual Layer Controls Each image that you connect to a MultiPlane node is represented by its own set of layer controls and subtree parameters in the Images tab. These controls are similar to those found within the MultiLayer node, and are labeled in the order in which the layers were connected to the MultiPlane node. For example, L1 is the name of the first connected layer, followed by L2, and so on.
Individual Layer Parameters Opening up a layer’s parameter subtree reveals a group of compositing and transform parameters affecting that particular layer. layerName The name of the layer. All associated parameters for that layer are prefixed by the layerName. opacity Opacity of the input layer. With an imported Photoshop file, there is an additional PSOpacity parameter. See “Supported Photoshop Transfer Modes” on page 476 of the Shake 4 User Manual for more information.
faceCamera The faceCamera pop-up menu lets you choose a camera. Once set, the layer will always rotate to face the same direction as the selected camera. If the camera is animated, the layer animates to match the camera’s movement so that the object remains facing the camera at every frame. This automatically animates that layer’s angle parameters, even though no keyframes are applied. In the following example, the camera starts off facing a 2D balloon layer.
One useful application of this parameter is to offset a layer’s center point, then use layer rotation to control layer position, even though faceCamera is turned on. In the following example, an image of a planet is arranged to the right of an image of the sun. The planet layer’s center point is offset to the left to match the center of the sun layer.
parentTo This parameter lets you create layer hierarchies within a single MultiPlane node. You can link one layer to another by choosing a parent layer from this pop-up menu. Layers with a parent can still be transformed individually, but transformations that are applied to the parent are also applied to all layers linked to it. For more information on using the parentTo parameter, see “Creating Layer Hierarchies” on page 93.
3D Transform Controls Click the camera to expose its 3D transform controls. Camera target Camera The camera consists of two groups of controls, the camera itself, and the camera target. Both controls are connected so that they always face one another—moving one rotates the other to match its position. Camera Controls Similar to layer controls, the camera has rotate x, y, and z controls, and translate (move) x, y, and z controls to constrain movement of the camera to one of these directions.
Moving the camera in relation to the camera target An additional control at the front of the camera constrains its movement so that it moves either closer to or farther away from the camera target—which also adjusts the interestDistance parameter in the Camera tab of the MultiPlane parameters. Before moving interestDistance control After moving interestDistance control No matter where you move the camera in space, it rotates to face the position of the camera target.
Note: These keyboard shortcuts only work within the camera view: m Keyboard Explanation V-drag Rotates the camera about its Z axis. S-drag Rotates the camera about the X and Y axes, about the camera’s own center point, changing the position of the camera target. Z-drag Pans the camera in and out along the Z axis. D-drag Pans the camera and camera target together along the X and Y axes. X-drag Pivots the camera about the camera target’s orbit point.
Note: The orbit point is also the point about which the Persp (perspective) view rotates when you rotate this view using the X key. Orbit point The outer bounding box represents the frustum, which defines the camera view frame that produces the output image. The size of the frustum determines, in part, the area of the 3D workspace that is output as the renderCamera image that’s output by the MultiPlane node.
Using the rotate x, y, and z controls rotates the camera about the camera target’s orbit point. Before rotating camera target After rotating camera target Moving the camera target closer to or farther away from the camera adjusts the interestDistance parameter in the Camera tab of the MultiPlane parameters. Animating the Camera The camera can either be animated manually, like any other object, or by importing 3D tracking or camera data via a .ma file. Animating the Camera Using .
cameraName A text field that lets you rename the camera or angle to more accurately describe your setup. sceneScale Scales the depth of the virtual space used to distribute the locator points that are displayed in the Viewer (which represent 3D tracking data clouds imported from .ma files). This parameter allows you to expand or compress the relative distance from the camera to the tracked background plate.
rotateOrder The order in which rotations are executed, by dimension. Defaults to XZY. interestDistance This parameter defines the distance of the camera target to the camera. By default, this parameter is set to an expression that automatically sets its value. filmGate The filmGate pop-up menu provides presets for setting the filmBack width and height parameters. There are options corresponding to most standard film formats.
deviceAspectRatio By default, this parameter uses an expression that computes the aspect ratio based on the filmBack parameter. xFilter, yFilter Lets you pick which method Shake uses to transform the image in each dimension. For more information, see “Applying Separate Filters to X and Y Dimensions” on page 863 of the Shake 4 User Manual. motionBlur A Motion Blur quality level of 0. 0 produces no blur, whereas 1 represents standard filtering. For more speed, use a value less than 1.