Shake 4
User Manual
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. Use of the keyboard Apple logo (Option-Shift-K) for commercial purposes without the prior written consent of Apple may constitute trademark infringement and unfair competition in violation of federal and state laws.
Every effort has been made to ensure that the information in this manual is accurate. Apple Computer, Inc. is not responsible for printing or clerical errors.
Apple Computer, Inc. 1 Infinite Loop
Cupertino, CA 95014-2084 408-996-1010 www.apple.com
Apple, the Apple logo, Final Cut, Final Cut Pro, FireWire, Mac, Macintosh, Mac OS, Nothing Real, QuickTime, Shake, and TrueType are trademarks of Apple Computer, Inc., registered in the U.S. and other countries. Exposé and Finder are trademarks of Apple Computer, Inc.
Adobe is a trademark of Adobe Systems Inc.
Cineon is a trademark of Eastman Kodak Company.
Maya, Alias, Alias/Wavefront, and O2 are trademarks of SGI Inc.
3ds Max is a trademark of Autodesk Inc.
Softimage and Matador are registered trademarks of Avid Technology, Inc.
Times is a registered trademark of Heidelberger Druckmaschinen AG, available from Linotype Library GmbH.
Other company and product names mentioned herein are trademarks of their respective companies. Mention of third-party products is for informational purposes only and constitutes neither an endorsement nor a recommendation. Apple assumes no responsibility with regard to the performance or use of these products.
ACKNOWLEDGEMENTS
Portions of this Apple software may utilize the following copyrighted material, the use of which is hereby acknowledged.
Double Negative Visual Effects (OpenEXR): Portions of the OpenEXR file translator plug-in are licensed from Double Negative Visual Effects.
FilmLight Limited (Truelight): Portions of this software are licensed from FilmLight Limited. © 2002-2005 FilmLight Limited. All rights reserved.
FLEXlm 9.2 © Globetrotter Software 2004. Globetrotter and FLEXlm are registered trademarks of Macrovision Corporation.
Framestore Limited (Keylight): FS-C Keylight v1.4 32 bit version © Framestore Limited 1986-2002.
Industrial Light & Magic, a division of Lucas Digital Ltd. LLC (OpenEXR): Copyright © 2002 All rights reserved. Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:
Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.
Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.
Neither the name of Industrial Light & Magic nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission.
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
Oliver James (Keylight 32-bit support): © 2005 Apple Computer, Inc. All rights reserved.
This new version has been updated by Oliver James, one of Keylight's original authors, to provide full support for floating point images.
Thomas G. Lane ( JPEG library ): © 1991-1998 Thomas G. Lane. All rights reserved except as specified below.
The authors make NO WARRANTY or representation, either express or implied, with respect to this software, its quality, accuracy, merchantability, or fitness for a particular purpose. This software is provided AS IS, and you, its user, assume the entire risk as to its quality and accuracy. Permission is hereby granted to use, copy, modify, and distribute this software (or portions thereof) for any purpose, without fee, subject to these conditions:
(1) If any part of the source code for this software is
distributed, then this README file must be included, with this copyright and no-warranty notice unaltered; and any additions, deletions, or changes to the original files must be clearly indicated in accompanying documentation.
(2) If only executable code is distributed, then the accompanying documentation must state that this software is based in part on the work of the Independent JPEG Group. (3) Permission for use of this software is granted only if the user accepts full responsibility for any undesirable consequences; the authors accept NO LIABILITY for damages of any kind. These conditions apply to any software derived from or based on the IJG code, not just to the unmodified library. If you use our work, you ought to acknowledge us. Permission is NOT granted for the use of any IJG author's name or company name in advertising or publicity relating to this software or products derived from it. This software may be referred to only as the Independent JPEG Group's software. We specifically permit and encourage the use of this software as the basis of commercial products, provided that all warranty or liability claims are assumed by the product vendor.
Sam Leffler and Silicon Graphics, Inc. (TIFF library):
© 1988-1996 Sam Leffler. Copyright © 1991-1996 Silicon Graphics, Inc.
Permission to use, copy, modify, distribute, and sell this software and its documentation for any purpose is hereby granted without fee, provided that (i) the above copyright notices and this permission notice appear in all copies of the software and related documentation, and (ii) the names of Sam Leffler and Silicon Graphics may not be used in any advertising or publicity relating to the software without the specific, prior written permission of Sam Leffler and Silicon Graphics.
© THE SOFTWARE IS PROVIDED AS-IS AND WITHOUT WARRANTY OF ANY KIND, EXPRESS, IMPLIED OR OTHERWISE, INCLUDING WITHOUT LIMITATION, ANY WARRANTY OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. IN NO EVENT SHALL SAM LEFFLER OR SILICON GRAPHICS BE LIABLE FOR ANY SPECIAL, INCIDENTAL, INDIRECT OR CONSEQUENTIAL DAMAGES OF ANY KIND, OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER OR NOT ADVISED OF THE POSSIBILITY OF DAMAGE, AND ON ANY THEORY OF LIABILITY, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
Photron USA, Inc. (Primatte Keyer): © 2004 Photron, USA
Glen Randers-Pehrson, et al. ( png ): libpng version 1.0.8 - July 24, 2000. © 1998-2000 Glenn Randers-Pehrson,
© 1996, 1997 Andreas Dilger, © 1995, 1996 Guy Eric Schalnat, Group 42, Inc.
COPYRIGHT NOTICE, DISCLAIMER, and LICENSE For the purposes of this copyright and license,
Contributing Authors is defined as the following set of individuals: Andreas Dilger, Dave Martindale, Guy Eric Schalnat, Paul Schmidt, Tim Wegner.
The PNG Reference Library is supplied AS IS. The Contributing Authors and Group 42, Inc. disclaim all warranties, expressed or implied including, without limitation, the warranties of merchantability and of fitness for any purpose. The Contributing Authors and Group 42, Inc. assume no liability for direct, indirect, incidental, special, exemplary, or consequential damages, which may result from the use of the PNG Reference Library, even if advised of the possibility of such damage.
Permission is hereby granted to use, copy, modify, and distribute this source code, or portions hereof, for any purpose, without fee, subject to the following restrictions: 1. The origin of this source code must not be misrepresented. 2. Altered versions must be plainly marked as such and must not be misrepresented as being the original source. 3. This Copyright notice may not be removed or altered from any source or altered source distribution. The Contributing Authors and Group 42, Inc. specifically permit, without fee, and encourage the use of this source code as a component to supporting the PNG file format in commercial products. If you use this source code in a product, acknowledgment is not required but would be appreciated.
Julian R. Seward ( bzip2 ): © 1996-2002 Julian R Seward. All rights reserved. Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:
1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. 2. The origin of this software must not be misrepresented; you must not claim that you wrote the original software. If you use this software in a product, an acknowledgment in the product documentation would be appreciated but is not required. 3. Altered source versions must be plainly marked as such, and must not be misrepresented as being the original software. 4. The name of the author may not be used to endorse or promote products derived from this software without specific prior written permission.
THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
Julian Seward, Cambridge, UK. jseward@acm.org
bzip2/libbzip2 version 1.0.2 of 30 December 2001
Preface |
15 |
Shake 4 Documentation and Resources |
|
15 |
What Is Shake? |
|
16 |
Using the Shake Documentation |
|
16 |
Onscreen Help |
|
17 |
Contextual Help |
|
17 |
Apple Websites |
|
18 |
Keyboard and Mouse Conventions on Different Platforms |
|
19 |
Using a Stylus |
|
20 |
Using Dual-Head Monitors |
Chapter 1 |
23 |
An Overview of the Shake User Interface |
|
23 |
Opening Shake |
|
24 |
Overview of the Shake User Interface |
|
27 |
Making Adjustments to the Shake Window |
|
28 |
Navigating in the Viewer, Node View, and Curve Editor |
|
30 |
Working With Tabs and the Tweaker |
|
31 |
Menus and the Title Bar |
|
35 |
Script Management |
|
38 |
The File Browser |
|
45 |
Using and Customizing Viewers |
|
72 |
The Parameters Tabs |
|
78 |
Using Expressions in Parameters |
|
81 |
The Parameters Tab Shortcut Menu |
|
82 |
The Domain of Definition (DOD) |
|
88 |
The Time Bar |
|
90 |
Previewing Your Script Using the Flipbook |
Chapter 2 |
91 |
Setting a Script’s Global Parameters |
|
91 |
About Global Parameters |
|
92 |
The Main Global Parameters |
|
98 |
guiControls |
|
101 |
Monitor Controls |
|
102 |
Colors |
5
|
102 |
enhancedNodeView |
|
104 |
Application Environmental Variables |
|
104 |
Script Environmental Variables |
Chapter 3 |
107 |
Adding Media, Retiming, and Remastering |
|
107 |
About Image Input |
|
110 |
Using the FileIn (SFileIn) Node |
|
117 |
Retiming |
|
123 |
The TimeX Node |
|
125 |
Manual Manipulation of Time |
|
126 |
Remastering Media |
|
130 |
Working With Extremely High-Resolution Images |
|
132 |
Using Shake With Final Cut Pro |
Chapter 4 |
137 |
Using Proxies |
|
137 |
Using Proxies |
|
139 |
Using interactiveScale |
|
141 |
Using Temporary Proxies |
|
144 |
Permanently Customizing Shake’s Proxy Settings |
|
148 |
Using Pre-Generated Proxy Files Created Outside of Shake |
|
150 |
Pre-Generating Your Own Proxies |
|
163 |
When Not to Use Proxies |
|
164 |
Proxy Parameters |
Chapter 5 |
167 |
Compatible File Formats and Image Resolutions |
|
167 |
File Formats |
|
170 |
Table of Supported File Formats |
|
173 |
Format Descriptions |
|
178 |
Support for Custom File Header Metadata |
|
180 |
Table of File Sizes |
|
180 |
Controlling Image Resolution |
|
183 |
Nodes That Affect Image Resolution |
|
186 |
Cropping Functions |
Chapter 6 |
191 |
Importing Video and Anamorphic Film |
|
191 |
The Basics of Processing Interlaced Video |
|
196 |
Setting Up Your Script to Use Interlaced Images |
|
200 |
Displaying Individual Fields in the Viewer |
|
204 |
Integrating Interlaced and Non-Interlaced Footage |
|
205 |
Video Functions |
|
209 |
About Aspect Ratios and Nonsquare Pixels |
6 |
Contents |
|
|
Chapter 7 |
217 |
Using the Node View |
|
217 |
About Node-Based Compositing |
|
218 |
Where Do Nodes Come From? |
|
219 |
Navigating in the Node View |
|
221 |
Using the Enhanced Node View |
|
224 |
Noodle Display Options |
|
226 |
Creating Nodes |
|
228 |
Selecting and Deselecting Nodes |
|
231 |
Connecting Nodes Together |
|
235 |
Breaking Node Connections |
|
235 |
Inserting, Replacing, and Deleting Nodes |
|
240 |
Moving Nodes |
|
240 |
Loading a Node Into a Viewer |
|
241 |
Loading Node Parameters |
|
243 |
Ignoring Nodes |
|
243 |
Renaming Nodes |
|
244 |
Arranging Nodes |
|
246 |
Groups and Clusters |
|
251 |
Opening Macros |
|
251 |
Cloning Nodes |
|
253 |
Thumbnails |
|
257 |
The Node View Shortcut Menu |
Chapter 8 |
261 |
Using the Time View |
|
261 |
About the Time View |
|
262 |
Viewing Nodes in the Time View |
|
263 |
Clip Durations in the Time View |
|
263 |
Adjusting Image Nodes in the Time View |
|
270 |
The Transition Node |
Chapter 9 |
277 |
Using the Audio Panel |
|
277 |
About Audio in Shake |
|
278 |
Loading, Refreshing, and Removing Audio Files |
|
280 |
Previewing and Looping Audio |
|
282 |
Playing Audio With Your Footage |
|
283 |
Viewing Audio |
|
283 |
Slipping Audio Sync in Your Script |
|
285 |
Extracting Curves From Sound Files |
|
288 |
Exporting an Audio Mix |
Contents |
7 |
|
|
Chapter 10 |
291 |
Parameter Animation and the Curve Editor |
|
291 |
Animating Parameters With Keyframes |
|
294 |
Using the Curve Editor |
|
298 |
Navigating the Curve Editor |
|
300 |
Working With Keyframes |
|
316 |
More About Splines |
Chapter 11 |
323 |
The Flipbook, Monitor Previews, and Color Calibration |
|
323 |
Cached Playback From the Viewer |
|
323 |
Launching the Flipbook |
|
324 |
Flipbook Controls |
|
325 |
Viewing, Zooming, and Panning Controls |
|
325 |
Memory Requirements |
|
326 |
Creating a Disk-Based Flipbook |
|
330 |
Viewing on an External Monitor |
|
331 |
Monitor Calibration With Truelight |
Chapter 12 |
333 |
Rendering With the FileOut Node |
|
333 |
Attaching FileOut Nodes Prior to Rendering |
|
336 |
Rendering From the Command Line |
|
337 |
Using the Render Parameters Window |
|
339 |
The Render Menu |
|
339 |
Support for Apple Qmaster |
Chapter 13 |
343 |
Image Caching |
|
343 |
About Caching in Shake |
|
343 |
Cache Parameters in the Globals Tab |
|
344 |
Using the Cache Node |
|
349 |
Commands to Clear the Cache |
|
349 |
Memory and the Cache in Detail |
|
352 |
Customizing Image Caching Behavior |
Chapter 14 |
355 |
Customizing Shake |
|
355 |
Setting Preferences and Customizing Shake |
|
355 |
Creating and Saving .h Preference Files |
|
359 |
Customizing Interface Controls in Shake |
|
371 |
Customizing File Path and Browser Controls |
|
375 |
Tool Tabs |
|
378 |
Customizing the Node View |
|
379 |
Using Parameters Controls Within Macros |
|
386 |
Viewer Controls |
|
392 |
Template Preference Files |
|
392 |
Changing the Default QuickTime Configuration |
8 |
Contents |
|
|
393 Environment Variables for Shake
400Interface Devices and Styles
401Customizing the Flipbook
401 Configuring Additional Support for Apple Qmaster
Chapter 15 |
405 |
Image Processing Basics |
|
405 |
About This Chapter |
|
405 |
Taking Advantage of the Infinite Workspace |
|
408 |
Bit Depth |
|
414 |
Channels Explained |
|
417 |
Compositing Basics and the Alpha Channel |
|
421 |
About Premultiplication and Compositing |
|
437 |
The Logarithmic Cineon File |
Chapter 16 |
451 |
Compositing With Layer Nodes |
|
451 |
Layering Node Essentials |
|
452 |
Compositing Math Overview |
|
453 |
The Layer Nodes |
|
470 |
Other Compositing Functions |
Chapter 17 |
473 |
Layered Photoshop Files and the MultiLayer Node |
|
473 |
About the MultiLayer Node |
|
473 |
Importing Photoshop Files |
|
477 |
Importing a Photoshop File Using the FileIn Node |
|
478 |
Using the MultiLayer Node |
Chapter 18 |
485 |
Compositing With the MultiPlane Node |
|
485 |
An Overview of the MultiPlane Node |
|
487 |
Using the Multi-Pane Viewer Display |
|
493 |
Connecting Inputs to a MultiPlane Node |
|
494 |
Using Camera and Tracking Data From .ma Files |
|
500 |
Transforming Individual Layers |
|
506 |
Attaching Layers to the Camera and to Locator Points |
|
512 |
Parameters in the Images Tab |
|
517 |
Manipulating the Camera |
Chapter 19 |
527 |
Using Masks |
|
527 |
About Masks |
|
528 |
Using Side Input Masks to Limit Effects |
|
530 |
Using Masks to Limit Color Nodes |
|
533 |
Masking Concatenating Nodes |
|
534 |
Masking Transform Nodes |
|
536 |
Masking Layers |
Contents |
9 |
|
|
539Masking Filters
540The -mask/Mask Node
542 Masking Using the Constraint Node
Chapter 20 |
545 |
Rotoscoping |
|
545 |
Options to Customize Shape Drawing |
|
546 |
Using the RotoShape Node |
|
548 |
Drawing New Shapes With the RotoShape Node |
|
550 |
Editing Shapes |
|
556 |
Copying and Pasting Shapes Between Nodes |
|
557 |
Animating Shapes |
|
562 |
Attaching Trackers to Shapes and Points |
|
564 |
Adjusting Shape Feathering Using the Point Modes |
|
566 |
Linking Shapes Together |
|
567 |
Importing and Exporting Shape Data |
|
567 |
Right-Click Menu on Transform Control |
|
568 |
Right-Click Menu on Point |
|
568 |
Viewer Shelf Controls |
|
572 |
Using the QuickShape Node |
Chapter 21 |
579 |
Paint |
|
579 |
About the QuickPaint Node |
|
580 |
Toggling Between Paint and Edit Mode |
|
580 |
Paint Tools and Brush Controls |
|
583 |
Modifying Paint Strokes |
|
585 |
Animating Strokes |
|
587 |
Modifying Paint Stroke Parameters |
|
591 |
QuickPaint Hot Keys |
|
591 |
QuickPaint Parameters |
|
594 |
StrokeData Synopsis |
Chapter 22 |
597 |
Shake-Generated Images |
|
597 |
Generating Images With Shake |
|
597 |
Checker |
|
598 |
Color |
|
599 |
ColorWheel |
|
600 |
Grad |
|
601 |
Ramp |
|
602 |
Rand |
|
603 |
RGrad |
|
604 |
Text |
|
609 |
Tile |
10 |
Contents |
|
|
Chapter 23 |
611 |
Color Correction |
|
611 |
Bit Depth, Color Space, and Color Correction |
|
612 |
Concatenation of Color-Correction Nodes |
|
615 |
Premultiplied Elements and CG Element Correction |
|
617 |
Color Correction and the Infinite Workspace |
|
620 |
Using the Color Picker |
|
625 |
Using a Color Control Within the Parameters Tab |
|
627 |
Customizing the Palette and Color Picker Interface |
|
627 |
Using the Pixel Analyzer |
|
631 |
The PixelAnalyzer Node |
|
635 |
Color-Correction Nodes |
|
637 |
Atomic-Level Functions |
|
646 |
Utility Correctors |
|
659 |
Consolidated Color Correctors |
|
674 |
Other Nodes for Image Analysis |
Chapter 24 |
681 |
Keying |
|
681 |
About Keying and Spill Suppression |
|
682 |
Pulling a Bluescreen or Greenscreen |
|
683 |
Combining Keyers |
|
687 |
Blue and Green Spill Suppression |
|
691 |
Edge Treatment |
|
696 |
Keying DV Video |
|
702 |
Keying Functions |
Chapter 25 |
717 |
Image Tracking, Stabilization, and SmoothCam |
|
717 |
About Image Tracking Nodes |
|
720 |
Image Tracking Workflow |
|
728 |
Strategies for Better Tracking |
|
733 |
Modifying the Results of a Track |
|
739 |
Saving Tracks |
|
740 |
Tracking Nodes |
|
754 |
The SmoothCam Node |
Chapter 26 |
763 |
Transformations, Motion Blur, and AutoAlign |
|
763 |
About Transformations |
|
764 |
Concatenation of Transformations |
|
766 |
Inverting Transformations |
|
766 |
Onscreen Controls |
|
775 |
Scaling Images and Changing Resolution |
|
778 |
Creating Motion Blur in Shake |
|
783 |
The AutoAlign Node |
|
794 |
The Transform Nodes |
Contents |
11 |
|
|
Chapter 27 |
807 |
Warping and Morphing Images |
|
807 |
About Warps |
|
807 |
The Basic Warp Nodes |
|
821 |
The Warper and Morpher Nodes |
|
830 |
Creating and Modifying Shapes |
|
845 |
Using the Warper Node |
|
854 |
Using the Morpher Node |
Chapter 28 |
861 |
Filters |
|
861 |
About Filters |
|
861 |
Masking Filters |
|
864 |
The Filter Nodes |
Chapter 29 |
895 |
Optimizing and Troubleshooting Your Scripts |
|
895 |
Optimization |
|
899 |
Problems With Premultiplication |
|
900 |
Unwanted Gamma Shifts During FileIn and FileOut |
|
902 |
Avoiding Bad Habits |
Chapter 30 |
905 |
Installing and Creating Macros |
|
905 |
How to Install Macros |
|
907 |
Creating Macros—The Basics |
|
914 |
Creating Macros—In Depth |
Chapter 31 |
935 |
Expressions and Scripting |
|
935 |
What’s in This Chapter |
|
935 |
Linking Parameters |
|
937 |
Variables |
|
939 |
Expressions |
|
941 |
Reference Tables for Functions, Variables, and Expressions |
|
947 |
Using Signal Generators Within Expressions |
|
951 |
Script Manual |
Chapter 32 |
963 |
The Cookbook |
|
963 |
Cookbook Summary |
|
963 |
Coloring Tips |
|
967 |
Filtering Tips |
|
968 |
Keying Tips |
|
974 |
Layering Tips |
|
977 |
Transform Tips |
|
979 |
Creating Depth With Fog |
|
980 |
Text Treatments |
|
984 |
Installing and Using Cookbook Macros |
|
985 |
Command-Line Macros |
12 |
Contents |
|
|
986 Image Macros
989 Color Macros
993Relief Macro
993Key Macros
994Transform Macros
996 Warping With the SpeedBump Macro
996 Utility Macros
1001 Using Environment Variables for Projects
Appendix A |
1005 |
Keyboard Shortcuts and Hot Keys |
|
1005 |
Keyboard Shortcuts in Shake |
Appendix B |
1015 |
The Shake Command-Line Manual |
|
1015 |
Viewing, Converting, and Writing Images |
Index |
1031 |
|
Contents |
13 |
|
|
14 |
Contents |
|
|
Shake 4 Documentation and
Resources
Preface
Welcome to the world of Shake 4 compositing. This chapter covers where to find help, how the keyboard and mouse work on different platforms, and how to set up Shake for use with a stylus.
Shake is a high-quality, node-based compositing and visual effects application for film and video. Shake supports most industry-standard graphics formats, and easily accommodates high-resolution and high bit depth image sequences and QuickTime files (Mac OS X only).
Among Shake’s many built-in tools are industry-standard keyers for pulling bluescreens and greenscreens, a complete suite of color-correction tools, features for high-quality motion retiming and format remastering, motion tracking, smoothing, and stabilization capabilities, integrated procedural paint tools, and a rotoscoping and masking environment that provides complete control over animated and still mattes. Shake also supports an extensive list of third-party plug-ins, and is compatible across both the Mac OS X and Linux platforms.
Shake is also an image-processing tool that can be used as a utility for media being passed along a pipeline of many different graphics applications. Large facilities can use Shake to process and combine image data from several different departments—for example, taking a project from initial film recording; providing processed images and tools for use by the 3D animation, digital matte, and roto departments; recombining the output from all these groups with the original plates for compositing; and ultimately sending the final result back out for film recording.
Shake’s tools can be accessed in several different ways. While most artists work within the graphical interface, advanced users can access a command-line tool running from the Terminal. Likewise, more technically oriented users can perform complex image processing by creating scripts (the Shake scripting language is similar to C), thereby using Shake as an extensive image-manipulation library.
15
There are several components to the documentation accompanying Shake, including printed user manuals and tutorials, onscreen documentation in PDF and HTML formats, and contextual help available directly from within the Shake interface.
The Shake 4 User Manual is divided into two volumes:
•Volume I—The Interface: Explains the basics of the Shake interface and provides instructions for working with media, file formats, nodes, and so on.
•Volume II—Compositing: Discusses the specific features Shake provides for image compositing. Part I of this volume covers such topics as image processing, rotoscoping, color correction, and so on. Part II delves into Shake’s advanced functionality, including optimizing, creating macros, and using expressions. This section also includes “The Cookbook,” a repository of useful Shake tips and techniques.
If you are new to Shake, you are encouraged to work through the Shake 4 Tutorials. These interactive lessons provide you with a solid introduction to Shake’s functionality and workflow.
Onscreen help (available to Mac OS X users in the Help menu) provides easy access to information while you’re working in Shake. Onscreen versions of the Shake 4 User Manual and Shake 4 Tutorials are available here, along with other documents in PDF format and links to websites.
To access onscreen help in Mac OS X:
mIn Shake, choose an option from the Help menu.
Note: You can also open PDF versions of the user manual and tutorials from the
Shake/doc folder.
To view Shake onscreen documentation on a Linux system, you’ll need to download and install Adobe Acrobat Reader, then configure the PDF browser path in the Shake application.
To configure the PDF browser path in Shake: 1 Open the Globals tab.
2Open the guiControl subtree (click the “+” sign). The subtree expands.
16 |
Preface Shake 4 Documentation and Resources |
|
|
3Click the folder icon next to the pdfBrowser Path parameter. The Choose Application window appears.
4In the Choose Application window, browse to and select the Adobe Acrobat Reader application.
To save your PDF browser settings in Shake:
1Choose File > Save Interface Settings.
The “Save preferences to” window appears.
2 In the “Save preferences to” window, save your settings to a defaultui.h file.
In addition to the onscreen help, the Shake interface provides immediate contextual help from within the application. Moving the pointer over most controls in Shake displays their function in the Info field, located at the bottom-right side of the Shake interface. The Info field provides immediate information about each control’s function. For example, moving the pointer over the Warp tool tab displays the following information in the Info field.
In addition to the information available from the Info field, each node in Shake has a corresponding HTML-based contextual help page, available via a special control in the Parameters tab.
To display a node’s contextual help page:
mLoad a node’s parameters into the Parameters tab, then click the Help button to the right of the node name field.
Note: Contextual help pages are opened using your system’s currently configured default web browser.
There are a variety of discussion boards, forums, and educational resources related to Shake on the web.
Preface Shake 4 Documentation and Resources |
17 |
|
|
The following websites provide general information, updates, and support information about Shake, as well as the latest news, resources, and training materials.
For more information about Shake, go to:
• http://www.apple.com/shake
To get more information on third-party resources, such as third-party tools and user groups, go to:
• http://www.apple.com/software/pro/resources/shakeresources.html
An useful listserver, archive, and extensive macro collection are accessible at the unofficial Shake user community site, HighEnd2D.com:
http://www.highend2d.com/shake
For more information on the Apple Pro Training Program, go to:
• http://www.apple.com/software/pro/training
Shake can be used on the Mac OS X and Linux platforms. Functions or commands that are platform-specific have been documented whenever possible. This section summarizes the main differences.
•Keyboard: Hot keys or keyboard commands that vary between the Macintosh and Linux platforms are documented when possible. In most cases, the Command and Control keys are interchangeable. The Macintosh Delete key located below the F12 key is the equivalent of the Linux Backspace key; the Macintosh Delete key grouped with the Help, Home, and End keys is the equivalent of the Linux Delete key.
Important: Macintosh users should remember that the Delete key used in Shake is not the key located below the F12 key but, rather, the one grouped with the Help, Home, and End keys.
•Mouse: Shake requires the use of a three-button mouse. A three-button mouse provides quick access to shortcut menus and navigational shortcuts. Shake also supports the middle scroll wheel of a three-button mouse.
Shake documentation refers to the three mouse buttons as follows:
Mouse Button |
Documentation Reference |
Left mouse button |
Click |
|
|
Middle mouse button |
Middle mouse button or middle-click |
|
|
Right mouse button |
Right-click |
|
|
18 |
Preface Shake 4 Documentation and Resources |
|
|
Note: This manual uses the term “right-click” to describe how to access shortcut menu commands.
The following table lists the user manual notation system.
Notation |
Example |
Hot keys/keyboard commands |
To break a tangent handle in the Curve Editor, Control-click the |
|
handle. |
|
|
Some hot keys/keyboard |
In the Node View, you can press Control-Option-click / Control-Alt- |
commands vary depending on |
click to zoom in and out. |
the platform. The Mac OS X |
|
command appears first, followed |
|
by the Linux command. The two |
|
hot keys/commands are |
|
separated by a forward slash. |
|
In general, the Command and |
|
Control keys are |
|
interchangeable. |
|
|
|
Menu selections are indicated |
To open a script, choose File > Open Script. |
by angle brackets. |
|
|
|
File paths and file names appear |
Temp files are saved in the ..//var/tmp/ directory. |
in italics. Also, directories and |
|
file paths are divided by forward |
|
slashes. |
|
|
|
Node groups (Tool tabs) appear |
In the Node View, select the Cloud node, and insert a Transform– |
in the default font, followed by |
CornerPin node. |
the name of the node in italics. |
|
A dash appears between the tab |
|
and node names. |
|
|
|
Command-line functions appear |
shake -exec my_script -t 1-240 |
in italics. |
|
|
|
Modifications to preferences |
Add the following lines to a .h file in your startup directory: |
files appear in italics. |
script.cineonTopDown = 1; |
|
script.tiffTopDown = 1; |
|
|
Shake is designed to be used with a graphics tablet and stylus.
To optimize the Shake interface for use with a tablet and stylus:
1 In the guiControls subtree of the Globals tab, enable virtualSliderMode.
2 Set the parameter virtualSliderSpeed to 0.
Preface Shake 4 Documentation and Resources |
19 |
|
|
When virtualSliderMode is enabled, the left button always uses the virtual sliders when when you click a value field. Normally, you have to press Control and drag. However, when virtualSliderMode is on, dragging left or right in a value field adjusts the value beyond normal slider limits.
Note: The stylus does not allow you to use your desk space the same way as with a mouse; consequently, you have to enable virtualSliderMode.
Shake makes extensive use of the middle-mouse button to facilitate navigation within each tab of the interface. To navigate and zoom within Shake easily using a stylus, you should map the middle mouse button to one of the stylus buttons. Once mapped, you can use that button to pan around within any section of the Shake interface, or Control-click and drag with that button to zoom into and out of a section of the interface.
You can choose View > Spawn Viewer Desktop to create a new Viewer window that floats above the normal Shake interface. You can then move this Viewer to a second monitor, clearing up space on the first for node editing operations.
Important: This technique only works when both monitors are driven by the same graphics card.
20 |
Preface Shake 4 Documentation and Resources |
|
|
Part I: Interface, Setup, and Input |
I |
|
Part I presents information about the Shake graphical |
|
user interface as a whole, with detailed information |
|
about all the major interface components. |
Chapter 1 |
An Overview of the Shake User Interface |
Chapter 2 |
Setting a Script’s Global Parameters |
Chapter 3 |
Adding Media, Retiming, and Remastering |
Chapter 4 |
Using Proxies |
Chapter 5 |
Compatible File Formats and Image Resolutions |
Chapter 6 |
Importing Video and Anamorphic Film |
Chapter 7 |
Using the Node View |
Chapter 8 |
Using the Time View |
Chapter 9 |
Using the Audio Panel |
Chapter 10 |
Parameter Animation and the Curve Editor |
Chapter 11 |
The Flipbook, Monitor Previews, and Color Calibration |
Chapter 12 |
Rendering With the FileOut Node |
Chapter 13 |
Image Caching |
Chapter 14 |
Customizing Shake |
1 An Overview of the Shake User |
1 |
Interface |
This chapter provides a fast introduction to all aspects of the Shake graphical user interface. It also provides indepth information about navigating the interface, and customizing it to suit your needs.
When you open the Shake interface, a blank Shake script appears. Shake scripts (otherwise known as project files) are unique in that they’re actually a text document containing the command-line script representation of the node tree that you assemble in the interface. You can open Shake scripts in any text editor to examine their contents, and if you’re a power user, you can make modifications to your composite right within the text of the script itself (this is only recommended if you’re conversant with Shake’s scripting language, covered in more detail in Part III of this book).
Most of the time, however, you’ll likely stay within Shake’s graphical interface, which provides specialized controls for performing a wide variety of compositing tasks (many of which would be far too unwieldy to manipulate from the command line).
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.
If necessary, it is possible to open two scripts simultaneously into interface windows. In this case, what you’re really doing is launching two instances of Shake at once. This is primarily useful if you need to copy information from one script to another.
Important: When youopen Shake twice, the first instance of Shake is the only one that’s able to write to and read from the cache. (For more information on caching in Shake, see Chapter 13,“Image Caching,” on page 343.)
23
The Shake user interface is divided into five main areas: the Viewer, the Tool tabs, the Parameters/Globals tabs, the Node View/Curve Editor/Color Picker/Audio Panel/Pixel Analyzer tabs, and the Time Bar at the bottom.
Viewer area
Displays the image at the selected node in the node tree.
Tool tabs
All of the available nodes in Shake are organized into eight tabs. Click a node’s icon to add that node to the node tree.
Time Bar area
Lets you navigate among the frames of your project using the playback buttons and the playhead.
Node View
One of many tabs that can be displayed here. The Node View displays the node tree, which defines the flow and processing of image data in your project.
Parameters tabs
The parameters of selected nodes appear in the Parameters1 and 2 tabs. The global parameters of your project appear in the Globals tab.
Images from The Saint provided courtesy of Framestore CFC and Paramount British Pictures Ltd.
Node View
The Node View is the heart of Shake, and displays the tree of connected nodes that modify the flow of image data from the top of the tree down to the bottom. Every function in Shake is represented as a separate node that can be inserted into the node tree. You use the Node View to modify, select, view, navigate, and organize your composite.
For more information on the Node View, see Chapter 7,“Using the Node View,” on page 217.
Viewer Area
The Viewer area is capable of containing one or more Viewers, which display the image of the currently selected node. You have explicit control over which part of the node tree is displayed in the Viewer—in fact, the ability to separate the node that’s displayed in the Viewer from the node being edited in the Parameters tabs is central to working with Shake. Each Viewer allows you to isolate specific channels from each image. For example, you can choose to view only the red channel of an image while you make a color correction, or only the alpha channel when you’re adjusting a key.
24 |
Chapter 1 An Overview of the Shake User Interface |
|
|
Tool Tabs
The Tool tabs contain groups of nodes, organized by function. Nodes you click in these tabs are added to the node tree. For example, to add a Keylight node, click the Key tool tab, and click the Keylight node. The Keylight node then appears in the node tree. If you right-click a node in any of the Tool tabs, you can choose to insert that node into the node tree in a variety of different ways, using the shortcut menu.
The Tool tabs area can also display the Curve Editor, Node View, or Time View.
The Time Bar Area
The Time Bar area, at the bottom of the Shake window, displays the currently defined range of frames. Three fields to the right of the Time Bar show the displayed number of frames in the Time Bar (not the time range), the current position of the playhead, and the Increments (Inc) in which the playhead moves. To the right of these fields, the Viewer playback controls let you step through your composite in different ways.
Command and Help Lines
Underneath the Time Bar area are two additional fields. The Command Line field lets you enter Shake script commands directly, effectively bypassing the graphical interface. The Info field provides immediate information about interface controls that you roll the pointer over.
Parameters Tabs
The two Parameters tabs can be set to display the parameters within a selected node. You can load two different sets of parameters into each of the two Parameters tabs. The Globals tab to the right contains the parameters that affect the behavior of the entire script (such as proxy use, motionBlur, and various interface controls).
Curve Editor
The Curve Editor is a graph on which you view, create, and modify the animation and Lookup curves that are associated with parameters in the nodes of your script. In addition to adding and editing the control points defining a curve’s shape, you can change a curve’s type, as well as its cycling mode.
For more information on using the Curve Editor, see Chapter 10,“Parameter Animation and the Curve Editor.”
Color Picker
The Color Picker is a centralized interface that lets you assign colors to node color parameters by clicking the ColorWheel and luminance bar, clicking swatches from a color palette, or by defining colors numerically using a variety of color models. You can also store your own frequently-used color swatches for future use in the Palette.
For more information on how to use the Color Picker, see “Using the Color Picker” on page 620.
Chapter 1 An Overview of the Shake User Interface |
25 |
|
|
Audio Panel
The Audio Panel lets you load AIFF and WAV audio files for use by your project. Several different files can be mixed down to create a single file. The audio waveforms can be displayed inside the Curve Editor. Sound playback can be activated in the Time Bar playback controls (Mac OS X only).
Note: Because audio playback is handled through the use of Macintosh-specific QuickTime libraries, you can only hear audio playback on Mac OS X systems. You can still analyze and visualize audio in Linux.
For more information on the Audio Panel, see Chapter 9,“Using the Audio Panel,” on page 277.
Pixel Analyzer
The Pixel Analyzer is a tool to find and compare different color values on an image. You can examine minimum, average, current, or maximum pixel values on a selection (that you make), or across an entire image.
For more information on how to use the Pixel Analyzer, see “Using the Pixel Analyzer” on page 627.
Console
The Console tab displays the data that Shake sends to the OS while in operation. It’s a display-only tab. Two controls at the top of the Console tab let you change the color of the text, and erase the current contents of the console. The maximum width of displayed text can be set via the consoleLineLength parameter, in the guiControls subtree of the Globals tab.
There are three ways you can get more information about the Shake interface:
•As you pass the pointer (no need to click) over a node or Viewer, information for the node appears either in the title bar of the Viewer, or in the bottom-right Info field. The displayed information includes node name, type, resolution, bit depth, and channels.
•You can also right-click most buttons to display a pop-up menu listing that button’s options. You can use this to select a function or to find out what a button does.
•The Help menu contains detailed information on how to use Shake, including the full contents of this user manual, specifics on new features introduced with the current release, and late-breaking news about last-minute changes and additions made to Shake.
26 |
Chapter 1 An Overview of the Shake User Interface |
|
|
As you work with Shake, there are several methods for resizing and customizing the various areas of the Shake interface.
To resize any area of the interface:
mPosition the pointer at any border between interface areas and drag to increase or decrease the size of that area. If you drag an intersection, you can resize multiple areas at once.
To expand any one area to take up the full screen:
mPosition the pointer in the area you want to expand, and press the Space bar.
mPress the Space bar again to shrink the area back to its original size.
Note: Use of the Space bar is especially helpful in the Curve Editor, when you are working with high-resolution elements or large scripts.
To temporarily hide an area, do one of the following:
mDrag the top border of the Tool tab or Parameters tab areas down to the bottom.
mDrag the bottom border of the Viewer, Node View, or any other area up to the top.
Before collapsing Tool tabs |
After collapsing Tool tabs |
That area remains hidden until you drag its top or bottom border back out again.
Chapter 1 An Overview of the Shake User Interface |
27 |
|
|
The Viewer, Node View, and Curve Editor are all capable of containing much more information than can be displayed at one time. You can pan and zoom around within each of these areas in order to focus on the elements you want to adjust in greater detail.
Important: Shake requires the use of a three-button mouse—the middle mouse button is key to navigating the Shake interface. If, in Mac OS X, you map Exposé functionality to the middle mouse button, this will interfere with navigation in Shake, and you should disable this functionality.
To pan across the contents of an area, do one of the following:
mPress the middle mouse button and drag.
mOption-click (Mac OS X) or Alt-click (Linux) and drag.
To zoom into or out of an area, do one of the following:
mHold down the Control key and drag while holding down the middle mouse button.
mControl-Option-drag or Control-Alt-drag.
mUse the + or - key to zoom in or out based on the position of the pointer.
To reset an area to 1:1 viewing, do one of the following:
mIn the Viewer, click the Home button in the Viewer shelf.
mMove the pointer to an interface area, then press Home.
To fit the contents to the available space within an area:
mIn the Viewer, click the Fit Image to Viewer button in the Viewer shelf.
mMove the pointer to an interface area, and press F.
If you find yourself panning back and forth within a particular area to the same regions, it might be time to create a Favorite View within that area.
•In the Node View, you could save several views in your node tree where you’ll be making frequent adjustments.
•If you’re doing paint work on a zoomed-in image in the Viewer, you can save the position and zoom level of several different regions of the image.
•In the Curve Editor, you can save several different pan, zoom-level, and displayedcurve collections that you need to switch among as you adjust the animation of different nodes in your project.
•In the Parameters tab, you can save the parameters being tweaked, as well as the node being displayed in the Viewer.
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.
28 |
Chapter 1 An Overview of the Shake User Interface |
|
|
To define a Favorite View:
1Pan 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.
2Depending on the area you’re adjusting, you can save additional state information particular to that area. Make additional adjustments as necessary so that you can recall the desired project elements:
•In the Node View, you can save the state of the nodes that are currently loaded into the Viewer and Parameters tabs.
•In the Viewer, you can save the node that’s currently being viewed.
•In the Curve Editor, you can save the curves that are currently loaded and displayed.
•In the Parameters tab, you can save the parameters that are being tweaked, as well as the node displayed in the Viewer.
3To save a Favorite View, move the pointer into that area and do one of the following:
•Right-click anywhere within the area, then choose Favorite Views > View N > Save from the shortcut menu (where N is one of the five Favorite Views you can save).
•Press Shift-F1-5, where F1, F2, F3, F4, and F5 correspond to each of the Favorite Views.
Restoring Favorite Views
Once you’ve defined one or more Favorite Views, you can restore them in one of two ways. Simply restoring the framing results in the current contents of that area being panned and zoomed to the saved position. Restoring the framing and state, on the other hand, results in the restoration of additional state information that was adjusted in step 2.
To restore the framing 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 from the shortcut menu (where N is one of the five Favorite Views you can save).
•Press F1-5, where F1, F2, F3, F4, and F5 correspond to each of the Favorite Views.
That area is set to the originally saved position and zoom level.
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.
Chapter 1 An Overview of the Shake User Interface |
29 |
|
|
Depending on the area, the originally saved position and zoom level are recalled, as well as the following state information:
•In the Node View, the node or nodes that were loaded into the Viewer and Parameters tabs when you saved the Favorite View
•In the Viewer, the node that was viewed when you saved the Favorite View
•In the Curve Editor, the curves that were loaded and displayed when you saved the Favorite View
•In the Parameters tab, the parameters that were being tweaked, as well as the node that was displayed, when you saved the Favorite View
Each area of the Shake window has several tabs that reveal more of the interface. These tabs can also be customized. For example:
To move a tab to another area:
mSelect a tab using the middle mouse button or Option-click / Alt-click, and then drag the tab into a new window pane.
To detach a tab and use it as a floating window:
mShift-middle-click or Shift-Option-click / Shift-Alt-click the tab.
A good example of this last operation is to detach a Parameters tab, then press the Space bar while the pointer is positioned over the Viewer. You can then tune your image in full-screen mode.
The parameters of individual nodes can be opened into a floating window, called the
Tweaker.
30 |
Chapter 1 An Overview of the Shake User Interface |
|
|