Tradigital Blender This page intentionally left blank Tradigital Blender A CG Animator’s Guide to Applying the Classic Principles of Animation Roland Hess AMSTERDAM • BOSTON • HEIDELBERG • LONDON • NEW YORK • OXFORD PARIS • SAN DIEGO • SAN FRANCISCO • SINGAPORE • SYDNEY • TOKYO Focal Press is an imprint of Elsevier Focal Press is an imprint of Elsevier 225 Wyman Street, Waltham, MA 02451, USA The Boulevard, Langford Lane, Kidlington, Oxford, OX5 1GB, UK © 2011 Elsevier Inc All rights reserved No part of this publication may be reproduced or transmitted in any form or by any means, electronic or mechanical, including photocopying, recording, or any information storage and retrieval system, without permission in writing from the publisher Details on how to seek permission, further information about the Publisher’s permissions policies and our arrangements with organizations such as the Copyright Clearance Center and the Copyright Licensing Agency, can be found at our website: www.elsevier.com/permissions This book and the individual contributions contained in it are protected under copyright by the Publisher (other than as may be noted herein) Notices Knowledge and best practice in this field are constantly changing As new research and experience broaden our understanding, changes in research methods, professional practices, or medical treatment may become necessary Practitioners and researchers must always rely on their own experience and knowledge in evaluating and using any information, methods, compounds, or experiments described herein In using such information or methods they should be mindful of their own safety and the safety of others, including parties for whom they have a professional responsibility To the fullest extent of the law, neither the Publisher nor the authors, contributors, or editors, assume any liability for any injury and/or damage to persons or property as a matter of products liability, negligence or otherwise, or from any use or operation of any methods, products, instructions, or ideas contained in the material herein Library of Congress Cataloging-in-Publication Data Application submitted British Library Cataloguing-in-Publication Data A catalogue record for this book is available from the British Library ISBN: 978-0-240-81757-6 For information on all Focal Press publications visit our website at www.elsevierdirect.com Typeset by: diacriTech, Chennai, India Printed in the United States of America 11 12 13 14 15 Contents Chapter 1: An Introduction to Character Animation in Blender Character Animation The Twelve Principles Squash and Stretch Anticipation Staging Overlap and Follow Through Slow In and Out Arcs 10 Secondary Action 12 Timing 12 Exaggeration 14 Solid Drawing 14 Appeal 15 Straight Ahead Action and Pose to Pose 16 Blender’s Approach to Character Animation 17 What We Won’t Be Doing 20 Review 21 Chapter 2: Your Tool Kit 23 Optimizing the Screen for Animation 23 Controlling the Sample Character 26 The F-Curve Editor 37 The Dope Sheet 52 Chapter 3: How to Not Waste Your Time 61 Resources 61 Concept 62 Character Design 63 A Brief Interlude on the Subject of Composition 66 Contrast and Focus 66 Long Shots, Medium Shots, and Close-Ups 69 The Rule of Thirds 72 Framing 72 v Contents Object Location and Orientation 73 Storyboarding 74 Compiling a Story Reel 80 Aspect Ratios and Resolution or “Mommy, Why is that Man so Skinny?” 89 Preparing a File for Animation 92 On Acting and Animation 92 Chapter 4: Basic Posing and Key Framing 99 First Pose: Walking 100 Pose-to-Pose and Straight Ahead Animation 122 Continued Posing 123 Keeping a Static Shot Alive 130 Reviewing the Poses with an Eye to the Principles 137 Staging .137 Exaggeration 138 Solid Drawing 138 Playback and Timing 138 Chapter 5: Anticipation, Follow-Through, and Other Interesting Poses 145 Analyzing Your Poses 147 Walking 157 Putting the Walk into Practice 165 Chapter 6: Interpolation, Timing, Breakdowns, and Velocity 173 Pose Timing and Velocity 173 Techniques for Moving Holds 175 Fixing Velocity in the Shot 178 Breakdowns for Guiding Motion 184 Slow In/Out 193 Chapter 7: Fine Tuning Motion 199 Overlapping Action 199 Breaking Simultaneous Motion 204 Sequential Motion 207 Arcs 213 Chapter 8: A Second Pass 219 Deliberate Secondary Action 221 What Not To Do 226 vi Contents Another Example of Deliberate Secondary Action 226 Involuntary Secondary Action 229 Automating Secondary Action 233 Real Hair 242 Conclusion 246 Chapter 9: Straight Ahead Animation 247 Animating the Body 248 A Final Note On Pose-to-Pose and Straight Ahead Animation 263 Chapter 10: Animation Extras 265 IK/FK Switching 265 Picking Up and Dropping Items 269 The Setup 271 The Grab 272 The Drop 274 NLA 275 Repeating and Blending Actions 277 Examining Different Takes 282 Animating the Alarm 284 Conclusion 289 Appendix: Animation Playback and Rendering 291 Index 297 vii This page intentionally left blank CHAPTER An Introduction to Character Animation in Blender Animation as both an art form and popular entertainment has existed for almost a century now The early attempts were received enthusiastically more for their novelty than for the quality of their craft That even holds true today: animated movies often make it through the studio process not because of their true entertainment value, but based on the novelty of the technological innovation of the day It turns out that the true core of quality animation as both art and entertainment lies in the joining of two elements: a compelling story and superior character animation Before we get too lofty though, let’s take a little test Are you an animator at heart? Answer “True” of “False” to these questions! I think I could have been an actor if only my face didn’t look like this My techie friends think I’m a little too artsy Tradigital Blender © 2011 Elsevier Inc All rights reserved This page intentionally left blank Appendix: Animation Playback and Rendering I’ve put the goods on animation playback and rendering in this appendix because they really don’t fit anywhere else, but you need to know them When working as an animator, real time feedback is vital In Blender, there are three ways to play your animation: live in the 3D view, as an OpenGL rendered animation file, and as a fully rendered animation These methods provide trade-offs between the amount of time it takes to make them and the quality and usefulness of the end result The live playback you get in the 3D view with Alt-A is instant There is no waiting involved You press Alt-A and your animation plays The drawback is that if your scene is even moderately complex, you will either get nonreal time playback or find the animation skipping frames to keep up Performing an OpenGL render only takes a minute or two, but you have to some preparation, and the result, while always in real time, can lack crucial visual elements like motion blur Finally, a full render gives the best quality, but can take a very long time We’ll spend a little time on each of these so that you can not only get the best performance out of Blender but also be able to choose the most appropriate method for your playback needs Live Playback The easiest method of testing your animation is to hover the mouse over the 3D view and press Alt-A This triggers Blender’s live animation playback Fig A.1 shows the Frame Dropping menu on the Timeline window By default, your BLEND files begin with the No Sync option chosen This means that when attempting play your scene live in the 3D view, Blender will draw each and every frame, one after the other, regardless of how long it takes, up to the top speed that you have indicated in the FPS section of the Frame Rate controls in the Render Properties This means that if you’ve set your animation to 24 Frames per second, and your computer can only draw per second, that’s exactly what you’ll get: slow playback, which is unsuitable for animation analysis On the other hand, if your scene consists of nothing more than a six-sided default cube zipping around and you’re running a dual quad-core system 291 Appendix: Animation Playback and Rendering FIG A.1 No Sync and Frame Dropping with a high end video card, Alt-A playback will earn you … twenty-four frames per second Blender targets your actual FPS request Let’s say that your computer isn’t quite up to real time playback of your scene though You can help Blender along by changing from No Sync to Frame Dropping With this enabled, Blender keeps track of how long it took to draw the last frame and skips an appropriate number of frames before drawing another in order to catch up So, in the example where the computer is only capable of drawing six frames every second, instead of getting Frame 1, then Frame 2, then 3, etc., you get Frame 1, then Frame 7, then Frame 13 The animation mostly keeps pace with real time, even though what you see on the screen won’t be as smooth as you’d like Even with Frame Dropping enabled, there is some uncertainty to the process, and you probably won’t consistently achieve your desired frame rate To keep an eye on this, you can enable the Playback FPS option in the Interface section of the User Preferences (Ctrl-Alt-U, or the File menu) It displays the current FPS rating in the upper left of 3D views during playback As using Alt-A will be the workhorse of your real time feedback while animating, it’s important to optimize your settings so that it has the best chance of working well The first thing to is to hit Alt-A with the Playback FPS option enabled and see what happens If you’re consistently getting around 24 FPS displayed while using No Sync, you’re fine Set the option to Frame Dropping and have at it You’ll get the correct rate of playback and won’t be missing much However, if your frame rates are pretty low, here are some suggestions to boost performance: Disable subsurface modifiers on deforming geometry While it looks nice in the renders, using armatures to deform models that use subsurfacing (and other geometry-generating modifiers) can destroy display performance Leave it on for rendering, but set your View subdivisions to (Fig A.2) As a shortcut, you can enable the Simplify panel in the Scene properties and set the Subdivision control to Don’t forget to set it back to something reasonable (the default is 6) when you’re done 292 Appendix: Animation Playback and Rendering FIG A.2 Turning Subdivision Surfacing Off in the 3D View Use Solid shading mode If you’re used to working in the pretty GLSL shaded mode in the 3D view, switch to Solid It doesn’t look as sweet, but it’s way faster Remove unneeded props and scenery What you really need to have showing in your scene to evaluate your animation? Would a few placeholders instead? The less that Blender has to draw, the faster things will go Do you have multiple 3D views? Sometimes people work with several 3D views available For each one that shows the animation, Blender has to extra work Use a proxy character Even with subsurfacing disabled, my laptop still had trouble giving me a decent frame rate with the skinned versions of Junot and Meyer Once again, mesh deformation is hard The versions of the characters that are made of separate pieces (sometimes called “tin cans”), parented to individual bones however, fly right along Once you can consistently achieve a good frame rate with a combination of these techniques, you can feel free to use Alt-A playback as your general previewing tool Change the timing? Alt-A Rework an arc? Alt-A To stop Alt-A playback, there are two separate commands Hitting the Esc-key cancels playback and returns the current frame marker to its original position However, if you press Alt-A again, the current frame marker will remain wherever it was during playback So, if you’re hitting Alt-A to look for a specific spot in the animation that you’d like to tweak, pressing Alt-A again when you find it is the way to go Once you’re pretty sure that you have a section of animation how you like it, you can “upgrade” to the next tool for playback: the OpenGL render OpenGL Rendering The next step up in quality is OpenGL rendering Blender allows you to dump the OpenGL 3D view into a savable still render or animation with the two buttons on the 3D view header, highlighted in Fig A.3 The camera icon on the left produces stills, while the movie clapper on the right makes 293 Appendix: Animation Playback and Rendering FIG A.3 The OpenGL Render Icons FIG A.4 A GLSL Render animations While they use the view settings of the 3D window (camera view, drawing mode, perspective/ortho), the size and file format settings are drawn from the Render Properties So, if you have the 720p render preset selected for size and frame rate, and the H.264 option in the Output panel, pressing the movie clapper button on a 3D view set to camera view will produce a full 720p H.264 file rendered from the camera’s perspective, but in the OpenGL mode chosen in the 3D view instead of using the internal renderer How fast is it? Pretty fast actually In fact, it’s just as fast as the Alt-A playback in No Sync mode The difference is that instead of just piping the OpenGL result to the screen for you to watch through the view, it saves the results into an animation file Find that animation file (an AVI file if you used the H.264 preset) and play it back in your favorite animation viewer This will basically guarantee that you see it in real time, and you can usually watch in full screen too The real advantage of using this technique is that Blender’s GLSL textured mode provides some nice visual features The image in Fig A.4 is an OpenGL “render” of the sample scene Note that many textures—particularly those that were UV mapped—are present and correctly displayed, the mist effect is working, objects cast shadows, and the image is even anti-aliased In order to get this decent quality (for a preview) out of the 3D view, use the following settings: In the N-key properties panel, choose GLSL for the shading mode in the Display panel 294 Appendix: Animation Playback and Rendering To cast shadows, you can use only spot lamps with buffered shadows Also, I’ve found that having certain object types visible in the scene—like armatures—prevents shadows from working Send them to another layer, or create a new layer for OpenGL preview “rendering” that contains on the objects that you want to see Use the Only Render option in the Display panel of the 3D view’s N-key properties This turns off all the grids, guidelines, and other sorts of things that normally show up in the 3D view but don’t actually render This is an easy way to give yourself a clean OpenGL view and render If you have Anti-Aliasing selected in the Render properties and are using Blender 2.54 or higher, your OpenGL render will be anti-aliased as well Even with these fairly robust settings, my laptop was pulling four or five frames per second It’s not real time (which is why we’re dumping to an animation file), but the quality is pretty good and it’s much faster than doing a traditional render Of course, you don’t get the sky background from the world settings, render-level subsurfacing on objects, and cannot pipe the result through the compositor for motion blur, etc The Real Thing When you’ve done all that you can with the various methods of previewing, there comes a time when you just have to see how it looks in the final render Color grading, depth of field, and especially motion blur can have a definite effect on whether or not an animation works While a full text on efficient rendering for animation is outside the scope of this book (the book Blender Foundations includes an entire chapter on optimizing renders, especially for testing), here are a few hints: Always use the compositor Don’t let the raw render output be the final word Motion blur is a must Use the vector blur node For short test renders, you can go straight to a video format For longer animation renders that might need to be interrupted, render to the still PNG format and compile an animation afterward in the Sequence Editor For gross motion, a lower resolution render blown up to full screen size on playback will often suffice Test your animation early and often Remember: the more efficiently you can playback and test your work, the more chances you will get to revise it and beat it into shape before you have to move on to something else 295 This page intentionally left blank Index Page numbers in italics indicate figures and tables A Action Editor, 53, 54, 55, 205, 205, 221–222, 222, 224, 250, 254, 258, 275, 282, 287 with different walk poses, 172 disabling snap in, 210, 210 duplicate, 282, 283 inserting keys directly in, 176 keys in, 229 view, 119 Action strip, 279, 281 Alarm system rig, 284–285, 285 Alternative Transformation Space (ATS), 110 Animation on acting and, 92–97, 93–97 alarm, 284–288, 285–289 aspect ratios and resolution, 89–92, 90–91 body, 248–263 breathing, 229 control, 230 with hardwork, 230, 231 at rest, 229–230, 230 sleeping person’s, 230, 231 character design, 63–65, 64 concept, 62–63, 63 file preparation, 92 individual channels for, 38, 39 live playback, 291–293, 292–293 paths for, 213, 214 picking up and dropping items, 269–275 pose-to-pose, 212 properties windows, 24, 25 raw, 206 resources, 61–62 sample character for, 26–37, 26–37 screen for, 23–60, 24–25 staging principle of, 66 straight ahead, 213 system, 274 Anticipation, 4–7, 145, 147, 147 backward explosion, 155 building, rules for, 156 place for, 154 principle, 288 Anticipatory motion, 148 Appeals, 15–16 Arcs, 10–12, 213–217 Armature, 17 Custom Properties panel for, 266, 267 ghosting, 40, 41 object, 271 properties, 213, 258 selection, 26, 26 Around Frame mode, 215, 216 ArtRage, 74 AutoIK, and posing, 114 Automatic keyframing, 208 enabling, 149, 150 B Blender default video editing screen, 81, 81 Blender’s approach, character animation, 17–20 Blender’s Pose Library tool, 183 Blender’s Video Sequence Editor, 277 Body control, 252, 253 bone, setting up 3D view to, 167 moving, 153, 154 down, 164 positioning, 252 stopping, 155 Body’s momentum, 151, 151 Bone, animation body control bone, 29, 30 foot bone, flexing, 30, 30 foot controller (heel) bone, 168 heel bone, selection, 30, 30 leg bone, 32, 33 Parenting, 270 root bone, 31, 31 selection, 160 squat bone, 29 Bounce, handle styles for, 197 Bouncing ball, 10, 196 Breakdown center, 182 Breakdown tool, 177, 178, 182 adding, 182 Ctrl-E, 187–188 Shift-E, 176–177, 177 C Cache panel, 242 Camera properties, 95, 96 Cartoonish approach, 151 Character animation, Character design, 63–65, 64 Character walking, 100–122 alternative transformation space, 110 bone-aligned views, 119 3D view, 100 pelvis rotation, 111 physical constraints, 100 stride length measurement, 106 wacky cartoon-based, 102 Child of constraint panel, 271–272, 272, 274–275 Cinematographers, Cleaned-up animation work space, 24, 25 Close-ups, 70, 71 Cloth simulation, 239, 240 Computer graphics (CG), Constant interpolation, 123, 123, 173 Contact pose, walking, 158, 159 Contrast by lighting, 69, 69 by organization, 68, 68 by size, 67, 67 using color for, 66, 67 zero contrast, 66, 66 Cropping strips, 84, 84 Crouch, 134, 135 Cruising velocity, Ctrl-Middle Mouse Button (Ctrl-MMB), 38 Cursor, 3D, 120 Custom Properties panel, 266, 267 297 Index D 3D header, 105 Damping, 237, 244 Default animation screen, 23, 24 Defensive hand, 263 Discreet actions, 174 Dope Sheet, 20, 52–60, 52–54, 56–59, 120 E Ease in/ease out principle, 40 Edit Mode, 26 Exaggeration, 14, 138 Extend method, 57 Extending strips, 84, 84 F F-Curve editor, 19, 19, 37–50, 193–195, 194–196 Dope Sheet, 52 kicking keys, 57 motion, 45, 45 transformation, 274 Feet adjusting, 253 rising on the balls of, 180 Film clapperboard, 255 Fingers in place, 191, 191 stationary, 224 Fixing velocity in shot, 178–184, 179 FK see Forward Kinematics Flab, 239 Flat line, 39 Focus, 66–69 Follow-through poses, 147, 149, 149, 152, 157 prefollow, 156 Foot adjusting down pose, 163 forward moving, 162 proceeding, 169 rotation, 168 lifting the receding, 180 in place, pose to keep, 153 Forward Kinematics (FK), 32 default arm controls, 34, 35 Frame 92, 222 Frame 98, 224 Frame 215, 226 298 Frame 235, 226 Frame 276, 254, 259 arc on, 259 Frame 280, 257, 257 Frame Dropping, 292, 292 Frames from Live Reference, 63, 63 marker, 224 numbers, 213, 214 range for movement, 227 rate controls, 291 of walking, 207, 207 Framing, 72–73, 73 Frozen NLA Strip, 278, 280 G Ghosting armature, 40, 41 shape of curve, changing, 45, 46 G-key toolbar, 102 GLSL Render, 294, 294 Graph Editor, Linear Extrapolation in, 288 Grease Pencil, 275, 276 drawing, 250 panel, 249, 249, 255 Guarded exit, 192 H Hair, 236, 242–243 dynamics panel, 243 real, 242–246 vertex group for, 234, 235 Hairbounce, 234 Hand Path, 215, 216 Hand poses and breakdowns, 193 removing original, 193 reposing, 222 Hand position, 266, 268–269 marking, 268 HDTV 720p preset, 90, 90 Head motion, 216 High pose, walking, 158, 159, 171 raw material for, 171 I IK/FK switching, 265–269 custom properties for, 33, 35 Image strip, 82, 83, 87, 88 selection, 87, 88 In Betweeners, 10 Interpolation mode, 123 J Jumping video, 146 three frames from, 146 K Keyframe Menu, 118 Keyframe Numbers, 213, 214 Keyframes option, 213 Kicking keys, 57 L Library pose, naming, 183 LocRotSize key, 119, 128 Long shot, 69, 70 Low pose, walking, 158, 159, 170 raw material for, 169 M Manipulator enabled, 27, 28 lower arm, 28, 29 Medium shot, 70, 70 Modifiers panel for neck, 237, 238 Momentum dictates, flow of follow-through, 151, 151 Motion anticipatory, 148 breakdowns for guiding, 184–192 continuous, 174 keys for next sequence of, 190 sequential, 207–213 Motion Paths panel, 213, 215 Motion Paths tool, 258, 259, 275, 276 Moving holds, techniques for 175–178, 175 N Neck, modifiers panel for, 237, 238 Newton’s first law, N-key properties panel, 249, 255 toolbar, 102 Index NLA see Non-Linear Animation No Sync mode, 292, 292, 294 Non-Linear Animation (NLA), 265 editor, 277, 277, 282, 283–284, 284 strip frozen, 278, 280 n-key properties, 279 tweak mode, 280, 280 system, 275–284 Number pad view buttons, 108 O Object location, and orientation, 73–74, 74 Octahedral mode, 26, 27 Offsetting keys, for overlap, 210 Onion skinning, 40, 255, 256 OpenGL rendering, 293–295, 294 Overlap, 8–9 Overlapping action, 199–204 demonstration, P Passepartout Alpha, 139 Passing pose, walking, 158, 159 Paste Flipped pose button, 119, 136, 161 Pinning, in cloth simulator, 240 Playback, 138–143 FPS option, 292 Passepartout Alpha, 139 Sync Menu, 138 Pose Mode, 26–27, 28 Pose-flipping process, 120 Poses analyzing, 147–156 changing, 195 timing and velocity, 173–175 Pose-to-pose ahead animation, 263–264 Pose-to-pose method, 249 Posing AutoIK and, 115 continued, 123–130 constant interpolation, 123, 123 F-Curve editor, 123 regarding pose, 126 hands, 115 Pre-punch pose, 34 Properties windows, animation, 24, 25 Q Quaternions, 39 R Raw pose on Frame 7, 166, 167 Real-time playback options, 138 Reconfigured timing screen, 140 Rendering, OpenGL, 293–295, 294 Resting pose, 149 Right Mouse Button (RMB), 27, 102 RMB see Right Mouse Button Robotic Pitch, 200 Rotoscoping, Rule of halves, 237 Rule of thirds, 72, 72–73 S Scaling key frames, in time, 55, 56–57 Scrubbing, 54 Secondary action, 219 aspect of, 220 automating, 233–242 deliberate, 221–226 example of, 226–229 involuntary, 229–233 Sequence editor, adding elements to, 82, 82 Sequential motion, 207–213 Throw Breakdown, 212, 212 Shape of curve, changing, 43, 43–44 ghosting armature, 45, 46 Shot, fixing velocity in, 178–184, 179 Single F-Curve point, 41, 41 Sleeping person’s breathing cycle, 230, 231 Slow in/out principle, 193–198, 195 creating breakdowns to control, 196 Smooth interpolation, 174 Soft Body Goal panel, 236, 237 Soft body simulation, 234, 235 Solid drawing, 116, 138 Solid shading mode, 292 Sound strip, 86, 86 Spine Overlap, 252, 252 Spine rotation movement, 112–113 Spine storing energy, 113 Squash and stretch, 3–4, 116, 129 Squashiness, maximum, 157 Stacking strips, 84, 84 Staging, 7–8, 7–8, 137 principle, 66 Standard selection method, 26 Standing pose, 148 Static Shot Alive, 130–137 camera properties, 130 fall back shot, 135 medium shot, 131, 132 Pretouch Pose, 132, 132 using Ctrl-Numpad-0 command, 130 Stick mode, 27, 27 Still pose for follow-through, 150 Stop moving pose, 152 Story reel, 77, 79 compiling, 80–89 Storyboards, 74–80 3D, 123 Straight ahead animation, 122–123, 247, 248, 263–264 start and end poses for sequence, 248, 248 Subdivision control, 292, 293 T Timing, different approaches to, 142 principle of, 143 Raw Timing, 140 Reconfigured Timing Screen, 140 wait time, 141 T-key toolbar, 102 Tweak mode, 280, 280 Twelve principles anticipation, 4–7 appeals, 15–16 arcs, 10–12 exaggeration, 14 overlap, 8–9 secondary action, 12 slow in/out, 9–10 solid drawing, 14–15 squash and stretch, 3–4 staging, 7–8 straight ahead action, 16–17 timing, 12–14 299 Index V Vector, key points changing, 49, 49 Vertex group for hair object, 234, 235 Video editing, 81 Video frozen scratching, 174, 176 Visual keying, 275 300 W Wacky cartoon-based character, 102 Walking pose, 148, 157–165, 158 contact pose, 158, 159 creation of, 158 high pose, 158, 159, 171 low pose, 158, 159, 169 passing pose, 158, 159 putting into practice, 165–172 single, 117 Waving motion of, 228 poses, 228 This page intentionally left blank This page intentionally left blank This page intentionally left blank This page intentionally left blank ... to de-emphasize the importance of facial animation If your character does have a face (and not all of them do), you are going to have to learn an entirely different branch of the art of animation. . .Tradigital Blender This page intentionally left blank Tradigital Blender A CG Animator’s Guide to Applying the Classic Principles of Animation Roland Hess AMSTERDAM • BOSTON • HEIDELBERG... a classical (i.e., hand drawn) animator might animate Smith’s body and legs in a straight ahead fashion, then go back and fill in the arms, then, hair and any flowing clothes But each time, the